我根据Mage_Catalog_Block_Product_List:
创建了自己的产品列表页面应用程序/代码/本地/法师/目录/砌块/产品/ Special.php:
class Mage_Catalog_Block_Product_Special extends Mage_Catalog_Block_Product_List
{
/* Original contents */
/* Here I call addAttributeToFilter on product collection, and then... */
return $this->_productCollection;
}
我将其包含在中心列的CMS页面中:
<reference name="content">
<block type="catalog/product_special" template="catalog/product/list.phtml" />
</reference>
问题是:产品列表显示正常,但我的左栏没有分层导航。
这很奇怪,因为我使用与普通列表完全相同的模板。
我检查了几件事:
我觉得这与尝试在CMS页面上包含产品列表有关,但我无法找到确切的问题。
对此的任何帮助都将非常感激。
答案 0 :(得分:4)
您需要添加将图层渲染到左列的块。
如果查看catalog.xml
,您会看到catalog_category_layered
节点包含以下内容:
<reference name="left">
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
...
</reference>
因此,将其添加到CMS xml布局更新中,并且应该在CMS页面上显示图层块。
如果您在单击其中一个可过滤属性时遇到产品列表未被过滤的问题,那可能是因为Layer_View块呈现的链接假定它们将回发到CategoryController
,不是要呈现CMS页面的CmsController
。这可能是也可能不是问题,所以如果它不起作用,请在此报告,我们可以尝试解决它。
答案 1 :(得分:0)
就个人而言,我会在其中包含所有产品的隐藏类别,并使用脚本将更新保留为所有产品。该脚本可以使用API完成,但是很慢,但它可以及时处理某个SKU计数级别。
答案 2 :(得分:0)
图层导航包含在类别视图中。 您应该包括类别使用的导航部分,因此请尝试插入
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
</reference>
之前
<reference name="content">
我不确定但是如果它不起作用它应该帮助你理解问题
答案 3 :(得分:0)
检查以下页面(他们遇到了同样的问题)
http://www.exploremagento.com/magento/some-custom-blocks-to-help-you-show-products.php http://www.chilipepperdesign.com/2009/03/23/magento-how-to-list-all-the-products-in-a-single-category-in-a-sidebar-block