在Grand Totals框中显示'送货文本' - 结帐

时间:2012-06-15 10:38:12

标签: php magento

如果尚未计算运费,我想在总计框中的'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;
  }

但我不确定这些文件是否需要编辑或其他文件。在此之后我无法继续进行,因此需要外部帮助。

1 个答案:

答案 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;在小计之后完全没问题。