首页 > 解决方案 > Magento 类别到猫头鹰轮播

问题描述

此代码仅显示每个类别的一个产品,但是我希望它在自己的 owl-carousel 中显示每个类别的所有产品。

我怎样才能解决这个问题?

<?php
$categoryIds = array("3","5","6","12","7");
foreach($categoryIds as $categoryId){

    $carouselcategoryProducts = $block->getCategoryProductsById($categoryId);

foreach ($carouselcategoryProducts as $carouselproduct) {
    /*Get Thumbnail*/
    $carouselimageBlock = $block->getLayout()->createBlock('Magento\Catalog\Block\Product\ListProduct');
    $carouselproductImage = $carouselimageBlock->getImage($carouselproduct, 'category_page_grid');
    ?>

    <div class="owl-carousel owl-theme">
        <h4 class="item">
            <a href="<?php echo $carouselproduct->getProductUrl(); ?>">
                <div class="product_row2">
                    <div class="product_column2">
                        <img class="product_img2" <?php echo $carouselproductImage->toHtml(); ?><i class="far fa-clone compare"></i>
                        <p class="product_title2"><?php echo $carouselproduct->getName(); ?></p>
                        <p class="product_price2">€ <?php echo $carouselproduct->getFinalPrice(); ?>,-</p>
                    </div>
                </div>
            </a>
        </h4>
    </div>
<?php
    }
}
?>

标签: phpmagentomagento2

解决方案


修复了问题。

正确代码:

<?php
$categoryIds = array(3,5,6,12,7);

foreach($categoryIds as $categoryId) :
    //echo "<p>category id: </p>$categoryId";
    $carouselcategoryProducts = $block->getCategoryProductsById($categoryId);
    echo "<div class=\"owl-carousel owl-theme\">";

foreach ($carouselcategoryProducts as $carouselproduct) :
    //Get Thumbnail
    $carouselimageBlock = $block->getLayout()->createBlock('Magento\Catalog\Block\Product\ListProduct');
    $carouselproductImage = $carouselimageBlock->getImage($carouselproduct, 'category_page_grid');
    ?>
        <h4 class="item">
            <a href="<?php echo $carouselproduct->getProductUrl(); ?>">
                <div class="product_row2">
                    <div class="product_column2">
                        <img class="product_img2" <?php echo $carouselproductImage->toHtml(); ?><i class="far fa-clone compare"></i>
                        <p class="product_title2"><?php echo $carouselproduct->getName(); ?></p>
                        <p class="product_price2">€ <?php echo $carouselproduct->getFinalPrice(); ?>,-</p>
                    </div>
                </div>
            </a>
        </h4>

<?php endforeach; ?>
</div>
<?php endforeach; ?>

推荐阅读