2013-09-25 6 views
0

Я хочу показать цену freeshipping как текст, например «Бесплатная доставка», но я не могу заставить его работать. В приложение/код/​​ядро ​​/ Mage/Доставка/модель/Carrier/Freeshipping.php Я нашел эти строки:magento показать текст бесплатной доставки

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

Но если я изменю 0.00 "Бесплатная доставка", ничего не происходит. Я провел много исследований в Интернете, но ничего не работает. Есть также много плагинов, которые могут установить цену на «Свободный», но это относится только к продуктам.

Так что я в отчаянии и надеюсь, что кто-то может мне помочь здесь. Я использую Magento 1.7.0.2.

Большое спасибо

ответ

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 долларов США в разделе доставки одной страницы.

+0

Это отлично работает на странице оформления заказа, спасибо! Но если я посчитаю цену доставки с полем отправки и налогообложения сметы, то он покажет 0.00. Итак, какой файл я должен изменить, чтобы сделать то же самое для этого окна? Еще раз спасибо! –

+0

Файл для блока доставки вычислений - 'app/design/frontend/[theme_path]/template/checkout/cart/shipping.phtml'. Для справок в будущем вы можете определить точные пути шаблонов, загруженные во внешний интерфейс, включив «Настройки шаблонных путей» в конфигурации Magento. Вы можете найти быстрый учебник о том, как это сделать здесь: https://support.sweettoothrewards.com/entries/21255937-How-do-I-turn-on-template-path-hints- – Axel

+0

Ты отличный помощник! большое спасибо –

Смежные вопросы