При добавлении категории на главной странице отображается только 1 товар


Я исследовал этот вопрос о том, что Magento 1.9 не добавляет категорию на домашнюю страницу. Итак, я закончил тем, что добавил:

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list.phtml"}}

К содержимому домашней страницы. Он также отображается на домашней странице, НО: только с 1 продуктом из 5. Почему это так и можно ли это изменить?

Я все еще очень новичок в Magento и ничего не изменил в макете. Я видел этот пост: Та же проблема, но никто не ответил (и я не могу это прокомментировать), у меня есть последовал этим шагам - но все это не сработало.

Author: Teja Bhagavan Kollepara, 2014-11-05

2 answers

Используете ли вы тему rwd из Magento 1.9? Если это так, проблема может быть в файле шаблона catalog/product/list.phtml.

В каталоге/продукте/списке.phtml из темы rwd следующий код

От строки 133 до 140

<?php $_nameAfterChildren = $this->getChild('name.after')->getSortedChildren(); foreach($_nameAfterChildren as $_nameAfterChildName): $_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName); $_nameAfterChild->setProduct($_product); ?> <?php echo $_nameAfterChild->toHtml(); ?> <?php endforeach; ?>

И от строки 178 до 186

<?php //set product collection on after blocks $_afterChildren = $this->getChild('after')->getSortedChildren(); foreach($_afterChildren as $_afterChildName): $_afterChild = $this->getChild('after')->getChild($_afterChildName); $_afterChild->setProductCollection($_productCollection); ?> <?php echo $_afterChild->toHtml(); ?> <?php endforeach; ?>

Вызовет ошибки, если вы добавите блок в макет без имени дочерних блоков.после" и "после".

Если вы хотите, чтобы это работало на вашей домашней странице, вам следует создайте новый шаблон в теме, например catalog/product/list_home.phtml, и скопируйте код из catalog/product/list.phtml, но удалите код из строк, которые я указал. Затем вы должны использовать новый шаблон в блоке домашней страницы:

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list_home.phtml"}}

 3
Author: Marina Vilcea, 2014-11-05 17:30:43

Удалите эти строки из catalog/product/list.phtml

<?php
    //set product collection on after blocks
    $_afterChildren = $this->getChild('after')->getSortedChildren();
    foreach($_afterChildren as $_afterChildName):
        $_afterChild = $this->getChild('after')->getChild($_afterChildName);
        $_afterChild->setProductCollection($_productCollection);
    ?>
    <?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>
 -1
Author: Muhammad Waqas, 2017-04-25 20:20:58