Вопрос

У меня есть два варианта, чтобы заказать продукт.

  1. забрать себя (работает)
  2. Доставка, порядок ниже 30, - вы должны заплатить 7, - и выше нет затрат на доставку:

    Я использую табличку для этого.Я загрузил CSV, и это правильно сделано:

    Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
    *,*,*,0.0000,7.0000
    *,*,*,30.0000,0.0000
    
    . Условие

    ;Цена против местонахождения

    Когда я заказываю ниже 30, - добавляет 7, - это oké

    Но когда я заказываю выше 30, - (субтотал) все еще добавляет 7, -

    Я очищал кэш и т. Д. Есть ли что-то, что я мог бы пропустить?

    Версия 1.7.0.2

Это было полезно?

Решение

Проблема может быть налогом. Если вы заказываете что-то за 35 долларов, и ваши налоги накладывают на 21%, он рассчитывает порядок на 27,25.Так что это не соответствует вашей бесплатной скорости доставки.

в приложении / коде / CORE / MAGE / Доставка / Модель / Carrier / FlatRate.php Добавьте следующий код (около строки 104)

// exclude Virtual products price from Package value if pre-configured
    if (!$this->getConfigFlag('include_virtual_price') && $request->getAllItems()) {
        foreach ($request->getAllItems() as $item) {
            if ($item->getParentItem()) {
                continue;
            }
            if ($item->getHasChildren() && $item->isShipSeparately()) {
                foreach ($item->getChildren() as $child) {
                    if ($child->getProduct()->isVirtual()) {
                        $request->setPackageValue($request->getPackageValue() - $child->getBaseRowTotal());
                    }
                }
            } elseif ($item->getProduct()->isVirtual()) {
                $request->setPackageValue($request->getPackageValue() - $item->getBaseRowTotal());
            }
        }
    }
    //////////// add this piece of code ////////////
    if (Mage::helper('tax')->priceIncludesTax()) {
    $taxableAmount = 0;
    foreach ($request->getAllItems() as $item) {
        $taxableAmount += $item->getTaxableAmount();
    }
    $request->setPackageValue($taxableAmount);
    //////////// till here ////////////
}

    // Free shipping by qty
    $freeQty = 0;
    if ($request->getAllItems()) {
        $freePackageValue = 0;
.

Это ставки, которые я использую для костюма, у них были те же проблемы.Когда костюмер заказал что-то на 52,95, доставку не было свободным, после добавления вышеуказанного кода это было

Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
BEL,*,*,0.0000,6.9500
BEL,*,*,49.9900,0.0000
DEU,*,*,0.0000,4.9500
DEU,*,*,49.9900,0.0000
NLD,*,*,0.0000,4.9500
NLD,*,*,49.9900,0.0000
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top