[英]Magento - cart.phtml - Override issue
我已經看到了幾個有關如何覆蓋cart.phtml的示例,但是它們似乎都無法在我的文件中工作。
我有一個主題:
- 應用/設計/前端/默認/ ves_fashion /
該文件位於:
- app / design / frontend / default / ves_fashion / template / checkout / cart.phtml
我在以下位置創建了cart.phtml:
- 應用程序/設計/前端/默認/ ves_fashion /模板/customsite/checkout/cart.phtml
然后,我在以下位置檢查了主題的layout.xml:
- app / design / frontend / default / ves_fashion / layout / checkout.xml
並看到此:
<layout>
<checkout_cart_index translate="label">
<label>Shopping Cart</label>
<remove name="right"/>
<remove name="left"/>
<!-- Mage_Checkout -->
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
<reference name="content">
<block type="checkout/cart" name="checkout.cart">
<action method="setCartTemplate"><value>checkout/cart.phtml</value></action>
<action method="setEmptyTemplate"><value>checkout/cart/noItems.phtml</value></action>
...
我知道我想用我自己的一個覆蓋這個cart.phtml並執行以下操作:我在其中打開了local.xml
app / etc / local.xml
並插入:
<layout>
<checkout_cart_index translate="label">
<reference name="content">
<block type="checkout/cart" name="checkout.cart">
<action method="setCartTemplate"><value>customsite/checkout/cart.phtml</value></action>
<action method="setEmptyTemplate"><value>customsite/checkout/cart/noItems.phtml</value></action>
</block>
</reference>
</checkout_cart_index>
</layout>
但這是行不通的。 我現在需要做什么? app / etc /中的local.xml是正確的還是我必須在app / design / frontend / default / ves_fashion / layout / local.xml中使用那一個? 我也看到了一些例子 標簽已被忽略,值Tag被命名 並將內容設置為checkout.cart-如果原始xml文件說一些不同的內容,為什么要這樣做?
如果有人可以在這里幫助我,那就太好了。 謝謝!
app/etc/local.xml
文件不是您想要的。 其中包含您網站的環境信息。
您可以隨意直接在主題的布局文件中進行更改:
app/design/frontend/default/ves_fashion/layout/checkout.xml
或者,您可以根據local.xml
在該文件夾中添加local.xml
,並在那里進行布局更新。
正如其他人指出的那樣,將布局句柄添加到app/etc/local.xml
文件是錯誤的。 那只是為了配置。 您的主題應在app/design/frontend/{your-package-name}/{your-theme-variation-name}/layout/local.xml
定義其自己的local.xml
文件,或者您的模塊應定義其自己的布局句柄在app/design/frontend/base/default/layout/{your-namespace}_{your-module}.xml
。
但是,在撰寫本文時,問題中提供的布局XML存在一個固有的問題。 照原樣,這些布局定義將不起作用。 調用setCartTemplate
和setEmptyTemplate
是正確的,但如果沒有必須在它們之后直接調用的基本方法調用,它們將無法工作: chooseTemplate
。 如果您查看app/design/frontend/base/default/layout/checkout.xml
文件,則可以在前兩個之后直接看到該方法。 修改Magento購物車模板時,僅此方法調用已成為許多人感到沮喪的根源,有關該問題的StackOverflow問題數量顯而易見。 我在這里寫了對此問題的詳盡解釋: https : //stackoverflow.com/a/33875491/2973534 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.