我只想更改文件 checkout.xml 的一部分(该文件位于核心布局文件夹中)。我在我的 config.xml 中创建自己的扩展并链接到我自己的 layout-xml-File。
<layout>
<updates>
<checkout>
<file>mymodule_checkout.xml</file>
</checkout>
</updates>
</layout>
没有问题,当我复制整个文件 checkout.xml 并将其保存为 mymodule_checkout.xml 时。但我只想覆盖这个大文件的一小部分
<reference name="content">
和
</reference>
在这种情况下,当我只写我需要的部分时,magento 只用这些部分读取我的文件。所以magento不会得到原始checkout.xml的剩余部分。
是否可以只更改核心布局 xml-File 的一部分而不复制整个文件或更改核心。
mymodule.xml 的代码如下所示:
<layout version="0.1.0">
<checkout_onepage_index translate="label">
<reference name="content">
<block type="checkout/onepage" name="checkout.onepage" template="checkout/onepage.phtml">
<block type="checkout/onepage_login" name="checkout.onepage.login" as="login" template="checkout/onepage/login.phtml">
<block type="page/html_wrapper" name="checkout.onepage.login.before" as="login_before" translate="label">
<label>Login/Registration Before</label>
<action method="setMayBeInvisible">
<value>1</value>
</action>
</block>
<block type="checkout/onepage_billing" name="checkout.onepage.billing" as="billing" template="checkout/onepage/billing.phtml"/>
<block type="checkout/onepage_shipping" name="checkout.onepage.shipping" as="shipping" template="checkout/onepage/shipping.phtml"/>
</block>
<block type="checkout/onepage_shipping_method" name="checkout.onepage.shipping_method" as="shipping_method" template="checkout/onepage/shipping_method.phtml">
<block type="checkout/onepage_shipping_method_available" name="checkout.onepage.shipping_method.available" as="available" template="checkout/onepage/shipping_method/available.phtml"/>
<block type="checkout/onepage_shipping_method_additional" name="checkout.onepage.shipping_method.additional" as="additional" template="checkout/onepage/shipping_method/additional.phtml"/>
</block>
<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
<block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
<action method="setMethodFormTemplate">
<method>purchaseorder</method>
<template>payment/form/purchaseorder.phtml</template>
</action>
</block>
</block>
<block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="checkout/onepage/review.phtml"/>
</block>
</reference>
</checkout_onepage_index>
</layout>
这就是我需要的部分。在这种情况下,magento 只使用此代码而不是核心 xml 文件的剩余代码。