magento显示免费送货文本

时间:2013-09-25 21:48:53

标签: php magento

我想将免费提货价格显示为文字,例如“免费送货”,但我无法让它发挥作用。在app / code / core / Mage / Shipping / Model / Carrier / Freeshipping.php中我发现了以下几行:

$method->setPrice('0.00');
$method->setCost('0.00');

但如果我将0.00更改为“免运费”,则没有任何反应。 我在互联网上做了很多研究,但没有任何效果。还有很多插件可以将价格设置为“免费”,但这仅限于产品。

所以我很绝望,我希望有人能在这里帮助我。 我正在使用Magento 1.7.0.2。

非常感谢

1 个答案:

答案 0 :(得分:1)

  1. app/design/frontend/base/default/template/checkout/onepage/shipping_method/available.phtml复制到您正在使用的相应主题文件夹中。

  2. available.phtml文件中,查找以下代码(第56行):

    <label for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $_rate->getMethodTitle() ?>
    <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('tax')->displayShippingPriceIncludingTax()); ?>
    <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
    <?php echo $_excl; ?>
    <?php if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl): ?>
        (<?php echo $this->__('Incl. Tax'); ?> <?php echo $_incl; ?>)
    <?php endif; ?>
    </label>
    
  3. 将其替换为以下内容:

    <label for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $_rate->getMethodTitle() ?>
    <?php if($_rate->getPrice() > 0) : ?>        
    <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('tax')->displayShippingPriceIncludingTax()); ?>
    <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
    <?php echo $_excl; ?>
    <?php if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl): ?>
        (<?php echo $this->__('Incl. Tax'); ?> <?php echo $_incl; ?>)
    <?php endif; ?>
    <?php else : ?>
          (<?php echo $this->__('Free Shipping'); ?>)
    <?php endif; ?>
    </label>
    
  4. 保存available.phtml,然后清除Magento缓存。现在,“免费送货”将显示在One-Page-Checkout送货部分包含$ 0金额的所有方法旁边。