0

私のモジュールには追加の入力が必要なので、これを行うために課金 phtml を変更しました。mymodule.xml で:

<checkout_onepage_index>
    <remove name="right"/>
    <reference name="checkout.onepage.billing">
        <action method="setTemplate"><template>workspace/mymodule/persistent/checkout/onepage/billing.phtml</template></action>
    </reference>
</checkout_onepage_index>

タグの削除は正常に機能しますが、アクションによってモジュールの新しいテンプレートが設定されません。同じディレクティブでpersistent.xmlを変更しようとしましたが、正常に動作します。私のコードで何が間違っていますか?

編集: config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Xpd_Evolucardgateway>
            <version>1.1.6</version>
        </Xpd_Evolucardgateway>
    </modules>
    <global>
        <models>
            <evolucardgateway>
                <class>Xpd_Evolucardgateway_Model</class>
            </evolucardgateway>
        </models>
        <resources>
            <evolucardgateway_setup>
                <setup>
                    <module>Xpd_Evolucardgateway</module>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </evolucardgateway_setup>
            <evolucardgateway_write>
                <use>core_write</use>
            </evolucardgateway_write>
            <evolucardgateway_read>
                <use>core_read</use>
            </evolucardgateway_read>
        </resources>
        <blocks>
            <evolucardgateway>
                <class>Xpd_Evolucardgateway_Block</class>
            </evolucardgateway>
        </blocks>
        <helpers>
            <evolucardgateway>
                <class>Xpd_Evolucardgateway_Helper</class>
            </evolucardgateway>
        </helpers>

        <sales>
            <quote>
                <totals>
                    <encargo>
                        <class>evolucardgateway/total_encargo</class>
                        <after>subtotal, tax</after>
                        <before>grand_total</before>
                    </encargo>
                </totals>
            </quote>
        </sales>
        <fieldsets>
            <sales_convert_quote_address>
                <base_encargo>
                    <to_order>*</to_order>
                </base_encargo>
                <encargo>
                    <to_order>*</to_order>
                </encargo>
            </sales_convert_quote_address>
            <sales_convert_order>
                <base_encargo>
                    <to_invoice>*</to_invoice>
                    <to_shipment>*</to_shipment>
                    <to_cm>*</to_cm>
                </base_encargo>
                <encargo>
                    <to_invoice>*</to_invoice>
                    <to_shipment>*</to_shipment>
                    <to_cm>*</to_cm>
                </encargo>
            </sales_convert_order>
        </fieldsets>
        <evolucardgateway>
            <cc>
                <types>
                    <visa>
                        <code>visa</code>
                        <name>Visa</name>
                        <order>0</order>
                    </visa>
                    <mastercard>
                        <code>mastercard</code>
                        <name>MasterCard</name>
                        <order>20</order>
                    </mastercard>
                    <amex>
                        <code>amex</code>
                        <name>American Express</name>
                        <order>30</order>
                    </amex>
                    <diners>
                        <code>diners</code>
                        <name>Diners Club</name>
                        <order>40</order>
                    </diners>
                    <elo>
                        <code>elo</code>
                        <name>ELO</name>
                        <order>50</order>
                    </elo>
                </types>
            </cc>
        </evolucardgateway>
    </global>
    <frontend>
        <translate>
            <modules>
                <Xpd_Evolucardgateway>
                    <files>
                        <default>Xpd_Evolucardgateway.csv</default>
                    </files>
                </Xpd_Evolucardgateway>
            </modules>
        </translate>
        <routers>
            <evolucardgateway>
                <use>standard</use>
                <args>
                    <module>Xpd_Evolucardgateway</module>
                    <frontName>evolucardgateway</frontName>
                </args>
            </evolucardgateway>
        </routers>
        <layout>
            <updates>
                <evolucardgateway>
                    <file>evolucardgateway.xml</file>
                </evolucardgateway>
            </updates>
        </layout>
    </frontend>
    <default>
        <payment>
            <evolucardgateway>
                <active>1</active>
                <model>evolucardgateway/standard</model>
                <title>Evolucard</title>
                <mostrar_parcelamento>1</mostrar_parcelamento>
                <cctypes>visa,mastercard,elo,amex,diners</cctypes>
                <environment>0</environment>
                <allowspecific>0</allowspecific>
                <useccv>1</useccv>
            </evolucardgateway>
        </payment>
    </default>
</config>
4

1 に答える 1

1

質問を読み誤り、コードを誤って解釈したため、以前の回答を削除しました。

考えられる問題は、モジュールのアクション ディレクティブ評価されているが、モジュールのレイアウト更新 XML ファイルが評価されている前にあることです。Mage_Persistentしたがって、_templateプロパティへの変更は上書きされています。

これを解決するには、モジュールの構成ファイルの後にモジュールの構成ファイルを強制的にロードしMage_Persistentます。その結果、モジュールのレイアウト更新ファイルが、 persistent.xmlの にレイアウト更新ファイルのリストに追加されます。これはまさにノードが意図していることです。<depends />

<?xml version="1.0"?>
<config>
    <modules>
        <Your_Module>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Persistent />
            </depends>
        </Your_Module>
    </modules>
</config>
于 2013-01-10T15:35:26.010 に答える