gpt4 book ai didi

php - Magento,自定义产品列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:39:54 25 4
gpt4 key购买 nike

我根据Mage_Catalog_Block_Product_List制作了自己的产品列表页面:

app/code/local/Mage/Catalog/Block/Product/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>

问题是:产品列表显示得很好,但我的左栏中没有分层导航。

这很奇怪,因为我使用的模板与普通列表完全相同。

我检查了几件事:

  • Mage_Catalog_Block_Product_Special 只是一个代理类。这是行不通的。即使我在我的 CMS 页面上使用 block 类型“catalog/product_list”,我也不会获得分层导航。
  • 没有覆盖关键核心类的扩展。
  • 我还尝试创建自己的模块并将其列在例如“mycatalog”下。这会导致完全相同的问题。

我觉得这与尝试在 CMS 页面上包含产品列表有关,但我无法找到确切的问题。

如有任何帮助,我们将不胜感激。

最佳答案

您需要将渲染图层的 block 添加到左列中。

如果查看 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 block 。

如果您在单击其中一个可过滤属性时遇到产品列表未被过滤的问题,那可能是因为 Layer_View block 呈现的链接假定​​它们将回发到 CategoryController,而不是将呈现您的 CMS 页面的 CmsController。这可能是也可能不是问题,所以如果它不起作用,请在此处报告,我们可以尝试解决它。

关于php - Magento,自定义产品列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5184241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com