我需要创建一个包含产品类别的自定义模板。这意味着在一个类别下应显示有限数量的相关产品。在另一类别下,应显示类别相关产品。还应该有一个标签显示这些类别名称。我需要添加一个链接来查看更多产品。
我是通过类别布局(后端)来做到这一点的。我添加了以下代码并尝试了。
<reference name="header">
<block type="core/template" name="header_nav" as="headerNav" template="page/html/headernav.phtml">
</block>
</reference>
<reference name="content">
<block type="catalog/product_list" name="product_list_flowers" template="catalog/product/list.phtml">
<action method="setData"><key>category_id</key><value>178</value></action>
<action method="setColumnCount"><count>4</count></action>
</block>
<block type="catalog/product_list" name="product_list_cakes" template="catalog/product/list.phtml">
<action method="setData"><key>category_id</key><value>179</value></action>
<action method="setColumnCount"><count>4</count></action>
</block>
</reference>
正在显示类别产品。但这并不限制产品数量。标题也没有显示。我无法添加此页面的链接。
任何人都可以帮助我。谢谢。
答案 0 :(得分:0)
为了能够对Product Collection设置限制(因为在您的情况下,因类别而异),请在下面的实现中找到:
<reference name="content">
<block type="catalog/product_list_flowers" name="product_list_flowers" template="catalog/product/list/flowers.phtml">
<action method="setData"><key>category_id</key><value>178</value></action>
<action method="setColumnCount"><count>4</count></action>
</block>
<block type="catalog/product_list_cakes" name="product_list_cakes" template="catalog/product/list/cakes.phtml">
<action method="setData"><key>category_id</key><value>179</value></action>
<action method="setColumnCount"><count>4</count></action>
</block>
</reference>
以上代码将继续显示包含产品的4列。
创建块文件(如果这与类别不同)
app/code/local/Namespace/Module/Block/Catalog/Product/List/Flowers.php
app/code/local/Namespace/Module/Block/Catalog/Product/List/Cakes.php
覆盖 List.php (如果所有类别都需要相同的产品限制)
app/code/local/Namespace/Module/Block/Catalog/Product/List.php
<reference name="content">
<block type="catalog/product_list" name="product_list_flowers" template="catalog/product/list/flowers.phtml">
<action method="setData"><key>category_id</key><value>178</value></action>
<action method="setColumnCount"><count>4</count></action>
</block>
<block type="catalog/product_list" name="product_list_cakes" template="catalog/product/list/cakes.phtml">
<action method="setData"><key>category_id</key><value>179</value></action>
<action method="setColumnCount"><count>4</count></action>
</block>
</reference>
在第87行下方,在此公共函数_getProductCollection()
...
$this->_productCollection = $layer->getProductCollection();
$this->_productCollection->setPageSize(10); //this will display only 10 products
...
如果我能够正确理解它,请告诉我。
快乐编码......