2012-08-15 219 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

相关问题