我想将免费提货价格显示为文字,例如“免费送货”,但我无法让它发挥作用。在app / code / core / Mage / Shipping / Model / Carrier / Freeshipping.php中我发现了以下几行:
$method->setPrice('0.00');
$method->setCost('0.00');
但如果我将0.00更改为“免运费”,则没有任何反应。 我在互联网上做了很多研究,但没有任何效果。还有很多插件可以将价格设置为“免费”,但这仅限于产品。
所以我很绝望,我希望有人能在这里帮助我。 我正在使用Magento 1.7.0.2。
非常感谢
答案 0 :(得分:1)
将app/design/frontend/base/default/template/checkout/onepage/shipping_method/available.phtml
复制到您正在使用的相应主题文件夹中。
在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>
将其替换为以下内容:
<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>
保存available.phtml
,然后清除Magento缓存。现在,“免费送货”将显示在One-Page-Checkout送货部分包含$ 0金额的所有方法旁边。