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

に対して avar_dumpを実行すると$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 ファイルをいつでも削除し、それらを 1 つずつ元に戻して、キャッシュがオフになっていることを確認しながら、ページネーション ツールバーが消えるかどうかを確認できます。

その後、テンプレート ディレクトリ カタログの名前を ~catalog に変更し、ベース カタログ ディレクトリを取得して、実際に .phtml ファイルが問題の原因であるかどうかを確認します。

于 2013-08-02T18:07:35.720 に答える