1

checkout / onepage / onepage.phtmlのテーブルの表示を変更するカスタムモジュールを作成しています。checkout.xmlで、どのように宣言されるかを確認できます。

<block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="checkout/onepage/review.phtml">
     <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
</block>

私が理解できないのは、/ app / design / frontend / {location} / {theme} /layout/{module}.xmlファイルを設定して、現在のreview.phtmlテンプレートを新しいテンプレートでオーバーライドする方法です。私の考えは、現在のものを削除して新しいものでリロードすることですが、それは機能していないようです。

4

1 に答える 1

4

私が最初に見ることができるのは、使用しているディレクトリが正しくないことです。

そのはず

app/design/frontend/{location}/{theme}/layout/{module}.xml 

それ以外の

app/layout/frontend/{location}/{theme}/layout/{module}.xml 

また、レビューレイアウトテーブルのオーバーライドに関してあなたが何をしたいのか正確にはわかりませんが、以下はレビューテンプレートをあなた自身のものに置き換えます:

<checkout_onepage_review>
    <reference name="root">
       <action method="setTemplate"><template>checkout/onepage/your_template.phtml</template></action>
    </reference>
</checkout_onepage_review>

次に、カスタムモジュールを作成していて、レイアウトファイルをロードする場合は、モジュールconfig.xmlでレイアウトの更新を宣言する必要があります。あなたはこれをしましたか?

これは次のようになります。

<?xml version="1.0"?>

<config>
    <modules>
        <Your_Company_Your_Module>
            <version>1.0.0</version>
        </Your_Company_Your_Module>
    </modules>
    <frontend>
        <layout>
            <updates>
                <yourmodule>
                    <file>yourmodule.xml</file>
                </yourmodule>
            </updates>
        </layout>
    </frontend>
</config>

最後に、達成しようとしていることによっては、チェックアウトレビューテーブルを上書きするためだけにモジュールを必要としない場合があります。

モジュールの唯一の目的がチェックアウトレイアウトをオーバーライドするのが簡単である場合は、次のいずれかの方法を使用してレイアウトをオーバーライドするだけで十分です。

  1. local.xmlを使用する

    テーマレイアウトディレクトリにlocal.xmlファイルを作成します。

    /app/design/frontend/{location}/{theme}/layout/{module}.xml

    これをすべてのコアレイアウトオーバーライドに使用します。これには多くの利点があります。

  2. ベースのcheckout.xmlレイアウトファイルをテーマにコピーします

    app / design / frontend / base / default / layout/checkout.xmlをapp/design / frontend / {location} /{theme}/layout/checkout.xmlにコピーします

于 2012-06-12T16:25:05.883 に答える