Я использую magento rwd theme.
Я хочу ограничить количество продуктов, которые будут показаны 4.
Также я хочу показать все, как добавить в корзину кнопку, раздел отзывов и цену.
В настоящее время я попробовал и протестировал следующий код, но он не работает.
{{block type="catalog/product_list" name="product_list" category_id="19" mode="grid" template="catalog/product/list.phtml" column_count="4" limit="4" }}
Как это можно сделать?
Я прилагаю скриншот вывода, который я получаю.
Вы не можете установить «предел» для catalog/product_list
заблокировать таким образом.
Лучшее место (пожалуйста, исправьте меня, если есть лучшее место / событие) — это событие ‘core_block_abstract_prepare_layout_before’.
Это позволит вам создать экземпляр панели инструментов и изменить ограничение.
Код прост и понятен.
Ваш файл наблюдателя,
class Test_Module_Controller_Router
{
public function homeProductCollection($observer)
{
try{
$block=$observer->getEvent()->getBlock();
if($block instanceof Mage_Catalog_Block_Product_List){
if($block->getProductLimit()){
$toolbar=$block->getToolbarBlock();
$block->setToolbarBlockName($toolbar->getNameInLayout());
$toolbar->setData('_current_limit',$block->getProductLimit());
}
}
}catch (Exception $e){
Mage::logException($e);
}
return $this;
}
}
Ваш XML-файл,
<config>
...
<global>
...
<events>
<core_block_abstract_prepare_layout_before>
<observers>
<test_module>
<class>Test_Module_Controller_Router</class>
<method>homeProductCollection</method>
</test_module>
</observers>
</core_block_abstract_prepare_layout_before>
</events>
...
</global>
...
</config>
Блок CMS, используемый для создания этого, будет выглядеть так:
{{block type="catalog/product_list" category_id="3" product_limit="2" template="catalog/product/list.phtml"}}
Для получения дополнительной информации проверьте Вот
Других решений пока нет …