在Magento默认主题的购物车页面中,我们会在屏幕右侧看到以下总计框:
我想修改上面框中5个字段的标签,我可以通过覆盖以下设计文件来更改Grand Totals:
/html/app/design/frontend/default/mine/template/tax/checkout/grandtotal.phtml
所以,现在它看起来像这样:
我的问题是:
更改框中其他3个字段的标签,以及折扣适用的折扣框标签。我花了一些时间来浏览其他设计文件,但找不到任何。它可能是一些要覆盖的类,但我也无法找到它们。
我正在使用Magento 1.4.1.1
更新1 :打开模板路径提示后,以下是模板路径 车
小计: 应用程序/设计/前端//税/结帐/ subtotal.phtml
总计: 应用程序/设计/前端//结帐/总/ default.phtml
GrandTotal: 应用程序/设计/前端//税/结帐/ grandtotal.phtml
税额: 应用程序/设计/前端//税/结帐/ tax.phtml
结帐
与购物车相同,以及
以下的另外一个送货:app / design / frontend // tax / checkout / shipping.phtml
但是当进入这些模板文件时,除了grandtotal.phtml之外,没有找到任何标签。
我找到了问题的解决方案,我在自己的回答中提到过。
这个问题最初要求帮助解决两个不同的问题。我稍后将另一个发布为another question。
答案 0 :(得分:6)
为什么不使用内联翻译器或区域设置文件更改标签?
grep 'Grand Total' app/locale/ -rsn
app / locale / en_US / Mage_Tax.csv:55:“总计(不含税)”,“总计(不含税)” app / locale / en_US / Mage_Tax.csv:56:“Grand Total(Excl.Tax)”,“Grand Total(Excl.Tax)” app / locale / en_US / Mage_Tax.csv:57:“总计(含税)”,“总计(含税)” app / locale / en_US / Mage_Tax.csv:58:“Grand Total(Incl.Tax)”,“Grand Total(Incl.Tax)” app / locale / en_US / Mage_Tax.csv:59:“总计不含税”,“总计不含税” app / locale / en_US / Mage_Tax.csv:60:“Total Total Incl。Tax”,“Grand Total Incl.Stanet” app / locale / en_US / Mage_Tax.csv:66:“包含总税额”,“包含总税额” app / locale / en_US / Mage_Rss.csv:22:“Grand Total”,“Grand Total” app / locale / en_US / Mage_Adminhtml.csv:366:“总计”,“总计” app / locale / en_US / Mage_Customer.csv:146:“Grand Total”,“Grand Total” app / locale / en_US / Mage_Sales.csv:216:“Grand Total”,“Grand Total” app / locale / en_US / Mage_Sales.csv:217:“要收取的总额”,“要收取的总额” app / locale / en_US / Mage_Sales.csv:373:“订购总计”,“订购总计” app / locale / en_US / Mage_Checkout.csv:104:“总计:”,“总计:”
或获取使用此字符串的模板:
grep "__('Grand Total" app/design/ -rsn
答案 1 :(得分:5)
回答问题1:
解决方案是覆盖
功能: fetch(Mage_Sales_Model_Quote_Address $ address)
in:code / core / Mage / Sales / Model / Quote / Address / Total / Shipping.php
同样,应编辑同一文件夹中的Tax和Subtotal文件以获得所需的结果。
的修改答案 2 :(得分:4)
我知道这个帖子有点旧,但我最近不得不自己解决这个问题。我需要的最简单的解决方案是重写Mage_Checkout_Block_Cart_Totals类并覆盖renderTotals函数。它最终看起来像这样:
public function renderTotals($area = null, $colspan = 1)
{
return $this->_replaceLabels(parent::renderTotals($area, $colspan));
}
protected function _replaceLabels($html){
$labelMap = array();
$labelMap['Subtotal'] = "Product Total";
$labelMap['Grand Total'] = "Order Total";
$labelMap["Shipping & Handling"] = "Shipping";
foreach($labelMap as $key => $value){
$html = str_replace($key, $value,$html) ;
}
return $html;
}
可能有更简洁的方法可以做到这一点,但对我来说这是最快的。
答案 3 :(得分:2)
我首先要翻看template path hints。这将为您提供一个起点,指出哪个模板呈现最终HTML的哪些部分。从那里,您可以查看模板,并查看phtml模板(或其父块)从中提取文本的位置。
答案 4 :(得分:1)
当然,最快捷,最安全的方法是使用inline translation。
答案 5 :(得分:1)
如果您的要求是仅更改标签,则可以从" locale"更改标签。如果您的商店所在地是"美国"例如,转到" app / locale / en_US / Mage_Tax.csv",搜索要更改的文本。例如:如果您想更改标签" Tax"到" VAT",然后搜索税,然后用" VAT"替换它。通过这种方式,您可以轻松更改标签。如果您有澳大利亚的商店设置,请在区域设置文件夹中创建名为" en_AU"的文件夹,将Mage_Tax.csv复制到该文件夹并进行上述更改。这将解决您的问题。