Magento カテゴリに属性を追加し、これをカテゴリ ページに表示するカスタム モジュールを作成しました。
最初に、category/view.phtml テンプレート ファイルを編集して、属性を直接取得しました。正常に動作しますが、デフォルトのテンプレート ファイルを編集する必要があったため、実際には適切な解決策ではありません。
そこで、カテゴリ ページにカスタム ブロックをレンダリングする独自のレイアウト .phtml ファイルを作成しました。「コンテンツ」を参照として使用する限り、これはうまく機能します。
<catalog_category_default>
<reference name=\"content\">
<block type=\"categoryreadmore/readmore\" name=\"slim_readmore\">
問題は、これは私が必要とすることをしないということです。カテゴリの説明のすぐ下にブロックを配置する必要があります。catelog.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\">
したがって、私が必要とするのは、ブロックを「category.products」ブロック内の「product_list」の上に配置することです。
これは、catalog.xml を編集しなくても可能ですか? モジュールをインストールするたびにデフォルトのテンプレートを編集する必要のない、1 つのパッケージのモジュールが必要です。
前もって感謝します!
何か案は?
残念ながら、これは不可能だと思います。
私の現在のコード
config.xml:
<frontend>
<layout>
<updates>
<readmore>
<file>readmore.xml</file>
</readmore>
</updates>
</layout>
readmore.xml
<catalog_category_default>
<reference name="content">
<block type="categoryreadmore/readmore" name="slim_readmore" before="product_list" >
<action method="setTemplate"><template>readmore/readmore.phtml</template></action>
</block>
</reference>
</catalog_category_default>