0

我想将免费送货价格显示为文本,例如“免费送货”,但我无法让它工作。在 app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php 我发现了这些行:

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

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

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

非常感谢

4

1 回答 1

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 缓存。现在,“免费送货”将出现在“一页结帐”送货部分中包含 0 美元金额的所有方法旁边。

于 2013-09-25T22:27:38.003 回答