При добавлении категории на главной странице отображается только 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 и ничего не изменил в макете. Я видел этот пост: Та же проблема, но никто не ответил (и я не могу это прокомментировать), у меня есть последовал этим шагам - но все это не сработало.
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"}}
Удалите эти строки из 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; ?>