Категория Magento для совы-карусели - PullRequest
2 голосов
/ 21 мая 2019

Этот код отображает только один продукт из каждой категории, однако я хочу, чтобы он отображал все продукты из каждой категории в собственной сове-карусели.

Как я могу это исправить?

<?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
    }
}
?>

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Исправлена ​​ошибка.

Правильный код:

<?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; ?>
0 голосов
/ 21 мая 2019

Правильный код:

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

foreach ($categoryIds as $cat) 
{ 

        $_category = $objectManager->create('Magento\Catalog\Model\Category')->load($cat);
        echo "<div class=\"owl-carousel owl-theme\">";
        $categoryProducts = $_category->getProductCollection()
                         ->addAttributeToSelect('*');

        foreach ($categoryProducts as $product) {?>

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

    }
    echo "</div>";

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...