2

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>
4

1 に答える 1