2012-08-15 220 views

回答

8

您會在checkout.xml佈局文件中設置購物車的模板。

checkout_cart_index部分(直接在<default>之後)查找以下塊並更改購物車頁面正在使用的模板;

<!-- Mage_Checkout --> 
    <reference name="root"> 
     <action method="setTemplate"><template>page/1column.phtml</template></action> 
    </reference> 

編輯

我知道這是公認的答案,但soipo的回答是更好的辦法。將更改應用到local.xml,不要修改核心佈局文件,在主題佈局中使用local.xml覆蓋它們。見http://www.classyllama.com/development/magento-development/the-better-way-to-modify-magento-layout

+0

嗨,感謝您的回覆。你能給我這個文件的完整路徑嗎? – user1451145 2012-08-15 13:19:28

+0

這取決於您使用的包和主題。如果你已經建立了一個新的包,它將在app/design/frontend/[你的包]/default/layout中。如果您在默認包中創建新主題或編輯現有主題,它將位於app/design/frontend/default/[your theme]/layout /中。它不應該太難找到,http://stackoverflow.com/questions/4632576/magento-determine-which-xml-layout-file-a-page-is-using – McNab 2012-08-15 13:35:13

6

在你local.xml文件,你可以添加以下內容:

<checkout_cart_index translate="label"> 
<reference name="root"> 
     <action method="setTemplate"><template>page/3columns.phtml</template ></action > 
    </reference> 

模板只是改變你所需要的一個。

+0

更改local.xml建議最佳實踐。 – 2014-11-24 09:48:48

+0

我想實現這個解決方案,但不能這樣做。我有一個自定義主題,所以我有我的包名稱和兩個不同的設計文件夾:默認和商店。當我不在上面的代碼中寫入默認主題的local.xml文件中的代碼時,它會顯示這個路徑frontend/my_package/default/template/page/1column.phtml,但是如果我編寫上面的代碼,那麼路徑將變爲前端/base/default/template/page/3columns.phtml。我如何將它指向我的其他設計文件夾「Shop」,以便它可以是前端/ my_package/shop/template/page/1column.phtml ??? – 2017-08-20 16:12:02

0

通過使用Magento常見的setTemplate方法,Magento自己的app/design/frontend/base/default/layout/checkout.xml引入的固有粒度丟失。

Magento故意爲此做了兩種方法:setCartTemplatesetEmptyTemplate。他們處理兩個單獨的條件。

一種情況是當購物車有物品時,另一種是當購物車是空的。通過調用setTemplate,該粒度會丟失。這意味着一個物品和一個沒有物品的購物車的購物車都會顯示相同的模板,這可能是不希望的。

更多關於這個可以在這裏找到:https://stackoverflow.com/a/33875491/2973534

+0

有人可能會來這個答案,看到這個,並浪費他們的時間......其他答案實際上是正確的,一個鏈接是一個單獨的問題。通過使用setTemplate沒有粒度丟失,鏈接的答案正在談論別的東西 – 2017-04-25 15:24:40

+0

如果OP實際上想要從2列布局更改爲1列布局,那麼您是正確的。如果OP想要更改特定購物車內容的佈局,那麼我的回答是正確的。我很難分辨OP的真實意圖。 – danemacmillan 2017-04-26 16:54:29

+0

我懷疑有人會回到他們在2012年提出的問題,我的評論的原因是我從谷歌以某種方式發現了這個問題,被這個答案誤導了,這個答案比其他答案早3年,並且正在回答一個不同的問題,它看起來像是對我的另一個答案的自我推銷,很少有人懷疑OP是指setTemplate – 2017-04-27 17:03:00

相關問題