如果尚未计算运费,我想在总计框中的'Subtotal'
行下方显示一条文字说明(要添加的额外运费)。
这只是为了通知客户还有额外的运输费用,这些费用将在稍后(结账)阶段添加到他们的订单中。
我是否可以执行IF..ELSE
如果尚未计算运费,则会显示此文本,如果已经计算,则显示运费和运费说明。
我可以修改模板/核心文件的任何想法吗?
提前致谢
编辑:总计框在此行的checkout / cart.phtml中
<?php echo $this->getChildHtml('totals'); ?>
检查totals.phtml我得到以下内容,
<table id="shopping-cart-totals-table">
<col />
<col width="1" />
<tfoot>
<?php echo $this->renderTotals('footer'); ?>
</tfoot>
<tbody>
<?php echo $this->renderTotals(); ?>
</tbody>
</table>
我检查了显示SubTotal,Shipping(计算时间)和GrandTotal
的核心文件应用程序/代码/核心/法师/销售/型号/报价/地址/合计/ Subtotal.php
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
$address->addTotal(array(
'code' => $this->getCode(),
'title' => Mage::helper('sales')->__('Subtotal'),
'value' => $address->getSubtotal()
));
return $this;
}
应用程序/代码/核心/法师/销售/ MODLE /报价/地址/合计/ Shipping.php
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
$amount = $address->getShippingAmount();
if ($amount != 0 || $address->getShippingDescription()) {
$title = Mage::helper('sales')->__('Shipping & Handling');
if ($address->getShippingDescription()) {
$title .= ' (' . $address->getShippingDescription() . ')';
}
$address->addTotal(array(
'code' => $this->getCode(),
'title' => $title,
'value' => $address->getShippingAmount()
));
}
return $this;
}
但我不确定这些文件是否需要编辑或其他文件。在此之后我无法继续进行,因此需要外部帮助。
答案 0 :(得分:0)
使用Subtotal.php文件我添加了另一个IF条件并更改了这样的代码:
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
$amount = $address->getShippingAmount();
/* MY MODIFIED CODE */
if($amount == 0)
{
$address->addTotal(array(
'code' => $this->getCode(),
'title' => Mage::helper('sales')->__('Subtotal <br/><span style="font-size:12px;color:#A4A5A7;">(Additional Shipping cost to be added)</span>'),
'value' => $address->getSubtotal()
));
}
/* --------------- */
else {
$title = Mage::helper('sales')->__('Subtotal');
$address->addTotal(array(
'code' => $this->getCode(),
'title' => $title,
'value' => $address->getSubtotal()
));
}
return $this;
}
这会增加一行&#39;要添加的额外运费&#39;在小计之后完全没问题。