2013-08-28 2 views
3

я позволил свободной доставки из методов Система-> Configration-> Доставка, и я установить минимальную сумму заказа до 50, но он не работаетMagento бесплатная доставка не работает

Также интересно, почему это состояние if($request->getFreeShipping()) всегда возвращают ложные

ответ

9

У меня на самом деле была эта проблема и наткнулся на этот вопрос. Для меня это было связано с тем, что погрешность тележки не загружалась должным образом в файле Freeshipping.php, который находится в указанном ниже пути.

Путь к файлу:

/app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php 

Теперь скопируйте этот файл:

/app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php 

в этом файле расположение

/app/code/local/Mage/Shipping/Model/Carrier/Freeshipping.php 

Найдите строку, которая имеет этот

if (($request->getFreeShipping()) 
     || ($request->getBaseSubtotalInclTax() >= $this->getConfigData('free_shipping_subtotal')) 

И заменить его с этим

$totals = Mage::getSingleton('checkout/cart')->getQuote()->getTotals(); 
    $subtotal = $totals["subtotal"]->getValue(); 

    if (($request->getFreeShipping()) 
     || ($subtotal >= $this->getConfigData('free_shipping_subtotal')) 
4
  1. Убедитесь, что применяемые страны являются правильными
  2. Убедитесь, что цена продукта без налога 50 или более
  3. Обновить кэш (configu недостаточно.)

Бесплатная доставка должна работать после того, как все это будет сделано.

+0

Я обновил кеши, но он все еще не работает: S –

2

Я реализованного ответ Кельвина Д.К. выше на Magento 1.7.0.2 и решить нашу проблему мгновенно.

Однако вместо обновления файла, сначала убедитесь, что скопировать файл и загрузить его:

/приложение/код/​​местного /Mage/Shipping/Model/Carriers/Freeshipping.php

Таким образом, вы не изменяете основной код Magento.

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