我遇到了一些麻烦,想知道如何更改交易电子邮件模板中的总计顺序(在Magento中)。
基本上我希望'Tax'排在最底部 - 低于'总计包含。税”。
我知道这是打印行的代码。但我似乎无法弄清楚如何改变行的顺序。
<?php foreach ($this->getTotals() as $_code => $_total): ?>
<?php if ($_total->getBlockName()): ?>
<?php echo $this->getChildHtml($_total->getBlockName(), false); ?>
<?php else:?>
<tr class="<?php echo $_code?>">
<td <?php echo $this->getLabelProperties()?>>
<?php if ($_total->getStrong()):?>
<?php echo $this->escapeHtml($_total->getLabel());?>
<?php else:?>
<?php echo $this->escapeHtml($_total->getLabel());?>
<?php endif?>
</td>
<td <?php echo $this->getValueProperties()?>>
<?php if ($_total->getStrong()):?>
<?php echo $this->formatValue($_total) ?>
<?php else:?>
<?php echo $this->formatValue($_total) ?>
<?php endif?>
</td>
</tr>
<?php endif?>
有人可以帮忙解决这个问题吗?
谢谢,祝你有美好的一天!
答案 0 :(得分:6)
将app/design/frontend/base/sales/order/totals.phtml
复制到您的主题文件并将其打开
将以下内容添加到其顶部。
if($tax = $this->getTotal('tax'))
{
$this->removeTotal('tax');
$this->addTotal($tax, 'grand_total');
}
此代码将从总计列表中删除税,然后将其重新添加到总计下方。您应该将totals.phtml文件移动到自定义主题文件夹中,以便升级不会覆盖它。
您可以通过执行以下操作来覆盖核心Totals块来执行相同的修补程序:
将app/code/core/Mage/Sales/Block/Order/Totals.php
复制到app/code/local/Mage/Sales/Block/Order/Totals.php
打开app/code/local/Mage/Sales/Block/Order/Totals.php
并将getTotals()
功能更改为以下内容:
public function getTotals($area=null)
{
//Move tax below grand_total
if($tax = $this->getTotal('tax'))
{
$this->removeTotal('tax');
$this->addTotal($tax, 'grand_total');
}
$totals = array();
if ($area === null) {
$totals = $this->_totals;
} else {
$area = (string)$area;
foreach ($this->_totals as $total) {
$totalArea = (string) $total->getArea();
if ($totalArea == $area) {
$totals[] = $total;
}
}
}
return $totals;
}