Dan*_*oof 5 php magento faceted-search layered-navigation
我根据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;
}
Run Code Online (Sandbox Code Playgroud)
我将其包含在中心列的CMS页面中:
<reference name="content">
<block type="catalog/product_special" template="catalog/product/list.phtml" />
</reference>
Run Code Online (Sandbox Code Playgroud)
问题是:产品列表显示正常,但我的左栏没有分层导航.
这很奇怪,因为我使用与普通列表完全相同的模板.
我检查了几件事:
我有一种感觉,这与尝试在CMS页面上包含产品列表有关,但我无法找到确切的问题.
任何有关这方面的帮助将非常感谢.
您需要将渲染图层的块添加到左列中。
如果查看catalog.xml,您将看到该catalog_category_layered节点包含以下内容:
<reference name="left">
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
...
</reference>
Run Code Online (Sandbox Code Playgroud)
因此,将其添加到您的 CMS xml 布局更新中,并且应该在您的 CMS 页面上显示图层块。
如果您在单击可过滤属性之一时遇到产品列表未被过滤的问题,这可能是因为 Layer_View 块呈现的链接假设它们将回发到 a CategoryController,而不是CmsController将呈现您的 CMS页。这可能是问题,也可能不是问题,所以如果它不起作用,请在此处报告,我们可以尝试解决它。