【发布时间】:2011-04-15 05:08:30
【问题描述】:
我不知道我的标题是否合适,但我想做的是像画廊这样的东西,或者至少我的客户这样称呼它......哈哈......我正在尝试做类似搜索结果页面但没有搜索条件,没有过滤器,只需单击链接并查看产品列表,具有相同的功能,更改查看模式(网格,列表),选择产品数量显示和寻呼机,我需要一些帮助,到目前为止我所做的是,我只需一个简单的操作就创建了一个新控制器
public function listAction(){
$this->loadLayout();
$this->renderLayout();
}
在我的 xml 布局中
<catalog_products_list>
<reference name="root">
<action method="setTemplate"><template>page/1columns.phtml</template></action>
</reference>
<reference name="left">
<block type="catalogsearch/layer" name="catalogsearch.leftnav" before="-" template="catalog/layer/view.phtml"/>
</reference>
<reference name="content">
<block type="catalog/product_uhmalist" name="search_result_list" template="catalog/product/list.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
<block type="page/html_pager" name="product_list_toolbar_pager"/>
</block>
<block type="core/text_list" name="additional">
<block type='enterprise_search/suggestions' name='search_suggestions' template="search/suggestions.phtml"></block>
<block type='enterprise_search/recommendations' name='search_recommendations' template="search/recommendations.phtml"></block>
</block>
<action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
<action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
<action method="setPageLayout"><layout>three_columns</layout></action>
</block>
<action method="setListOrders"/>
<action method="setListModes"/>
<action method="setListCollection"/>
</reference>
</catalog_products_list>
它几乎与catalogsearch.xml 中的catalogsearch_result_index 块相同,当我尝试转到我的新页面时,它没有显示任何产品,集合为空,因此,我更改了app\code 中的funcion _getProductCollection() 的内容\core\Mage\Catalog\Block\Product\List.php
if (is_null($this->_productCollection)) {
$category = Mage::getModel('catalog/category')->load(5);
$productCollection = $category->getProductCollection();
Mage::getModel('catalog/layer')->prepareProductCollection($productCollection);
$this->_productCollection = $productCollection->load();
}
return $this->_productCollection;
我不喜欢更改核心代码,但现在我正在努力让它工作,所以,当我刷新页面时它向我显示产品,我可以更改查看模式,我可以看到数量的产品,但是,寻呼机不起作用,当我更改我想显示的产品数量时,它什么也不做,只是将标签 8 项目更改为项目 1-8 的 8 个,并且不分组它,如果我选择 5,它应该只显示 5 个项目,但我可以看到我的数据库中的 8 个,所以,
我的代码有什么问题?如何使寻呼机工作?
谢谢
【问题讨论】:
标签: php collections magento