2

我对 Magento 很陌生,到目前为止一直在关注基本主题,但是我在目录分页方面遇到了问题。

目前我在显示“page/html_pager”块时遇到问题。

所以,我的 catalog.xml 对锚和非锚类别都有这个:

<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" />
                </block>
         </block>
    </block>
</reference>

我的toolbar.phtml有相应的代码:

<?php echo $this->getPagerHtml() ?>

我的 default/template/page/html/pager.phtml 只包含一些测试代码,如下所示: <h1>Test</h1>

起初我认为可能是因为没有多个页面,所以我添加了一些产品并将网格和列表视图设置为每页最多显示 1 个,项目数反映了这一点: Showing 1 of 11 items

var_dump对返回执行 a会$this->getPagerHtml()返回一个空字符串,并使用模板路径提示表明它甚至似乎都没有加载该块 - 但它加载了它的父块。

直接从基本设计包中复制代码是行不通的,但切换到那个包却可以。

那么,我错过了什么?还是做错了?关于它可能是什么,我已经没有想法了。

谢谢

4

2 回答 2

3

解决了:

添加
<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>

在 product_list_toolbar 块出现后解决了这个问题。

Magento 的文档在这方面有点薄,所以我不确定为什么
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">

需要使用操作标签再次设置它的名称,但确实如此。

如果有人可以解释这一点,我很想理解它。

于 2013-08-06T12:22:28.923 回答
1

它有可能被布局中的不同 .xml 文件覆盖吗?

您始终可以删除布局目录中的所有 .xml 文件,然后将它们一一恢复,然后查看分页工具栏是否消失,同时确保已关闭缓存。

之后,将模板目录目录重命名为 ~catalog 并让它选择基本目录目录,看看它是否真的是导致问题的 .phtml 文件。

于 2013-08-02T18:07:35.720 回答