【问题标题】:Magento : Page selection is missing with custom product listMagento:自定义产品列表缺少页面选择
【发布时间】:2012-10-18 14:30:59
【问题描述】:

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

我使用此代码生成渲染:

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=2 调用我的页面;我有想要的产品,所以没有任何功能问题,但仍然存在页面布局问题。

你有想法吗? 谢谢!

【问题讨论】:

    标签: php model-view-controller templates magento content-management-system


    【解决方案1】:

    你为什么要完全绕过标准的 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 布局更新添加的

    【讨论】:

    • 我是 Magento 的初学者,我需要创建一个页面,列出按属性过滤的所有产品,并在左侧列上显示类别菜单。该属性是多选的,我已经完成了 99% 的项目,但我没有页面选择:(
    • 除了一件事(属性多选),您需要的所有功能都存在于标准的magento中。您只需在后台配置您的目录,以获得具有可过滤属性的产品列表。如果您想按类别过滤,您也需要激活“过滤器类别”。(或只是修改标准布局以将其显示在左列)无需特定(抱歉,但丑陋)编码这样做。
    • 我不希望过滤器可见。我只想要此页面左侧的类别列表,但我迷路了:!
    • 抱歉,您没有具体问题,您只是迷失在 magento 的复杂性中。我建议您查看教程/书籍并深入了解现有的标准 maegnto 以了解所有内容它的概念:(
    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多