Magento - 为购物车和结账(订单查看)屏幕提供不同的字段和标签集

时间:2010-11-24 13:05:03

标签: magento e-commerce

在Magento默认主题的购物车页面中,我们会在屏幕右侧看到以下总计框:

alt text

我的问题是显示出现在购物车中的税金和总计包含税字段,因为一旦我们知道送货地址就会计算税额。因此,我们只想在订单审核下的结帐界面中展示它。但是,当覆盖上面提到的模板/文件时,还会修改 checkout 中的 Order Review 字段,以便它看起来像这样:

alt text

和单页结帐订单审核屏幕一样

alt text

表示这些字段是从一组文件控制的。但是,我希望这两个(购物车中的总计框和结帐时的订单审核)不同。

通过启用模板路径提示,我知道每个小计,税,​​总计......的子模板都是从以下位置调用的:

  

购物车:/checkout/cart.phtml

     

结帐(一页):/ checkck / onepage / review / info.phtml

这两个都有这个共同的路线,我相信这就是诀窍

  

$这 - >直到最底层( '总计')

有人可以帮助我了解getChildHtml如何查找“总计”文件。我很困惑,因为checkout / onepage / review文件夹中有一个totals.phtml,而他们都在/ tax / checkout中使用模板文件

我正在使用Magento 1.4.1.1,这个问题的背景是a previous question

2 个答案:

答案 0 :(得分:1)

根据您之前的问题,您已经知道输出来自文件template/tax/checkout/grandtotal.phtml。显示1或3总计行的决定基于此片段:

<?php if ($this->includeTax() && $this->getTotalExclTax()>=0):?>

我建议将其改为......

<?php if ($this->includeTax() && $this->getTotalExclTax()!=$this->getTotal()):?>

这里,当地址未知且税收为零时,两个总计相等,因此只显示一个。

这是非常有益的,当地址由“运费和税收估算”表格提供时,购物车仍然可以自动返回到3行输出,这是顺利的。

答案 1 :(得分:1)

你有几个选择

  1. 您可以使用GeoIp嗅探用户的位置,并至少在报价帐单地址中设置国家/地区,这样您就可以显示税收估算值。例如,要获得英国估算,您可以(如果报价存在)<?php $this->getQuote()->getBillingAddress()->setCountryId('UK');?><?php $this->getQuote()->getShippingAddress()->setCountryId('UK');?>
  2. 您可以通过修改checkout.xml布局文件并将条件设置为单独的文件来更改模板文件在购物车和结帐中的不同