0

我编写了一个控制器,它根据请求的类别和属性过滤器生成产品集合。

我使用以下代码生成渲染:

public function AfficherCollection($collection){
 if ($collection){
  Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);       
  $magento_block = Mage::getSingleton('core/layout');
  $productsHtml  = $magento_block->createBlock('catalog/product_list');
  $productsHtml ->setTemplate('catalog/product/list.phtml')->setCollection($collection);
  echo $productsHtml->toHTML();
 }  
}

渲染效果很好,但问题是缺少页面选择器。但是如果我用?p=2in page 参数调用我的页面;我有想要的产品,所以没有任何功能问题,但仍然存在页面布局问题。

你有想法吗?谢谢!

4

1 回答 1

0

为什么你完全绕过标准的 magento 功能和框架?

您应该使用magento框架的布局层。处理所有product_list逻辑的是他:

参见例如 catalog.xml 布局文件:

<catalog_category_view>
    <reference name="content">
        <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
            <block type="catalog/product_list" name="product_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"/>
                    [...]

可以看到分页器是通过 XML 布局更新添加的

于 2012-10-18T15:25:25.877 回答