簡體   English   中英

Magento-cart.phtml-覆蓋問題

[英]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存在一個固有的問題。 照原樣,這些布局定義將不起作用。 調用setCartTemplatesetEmptyTemplate是正確的,但如果沒有必須在它們之后直接調用的基本方法調用,它們將無法工作: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM