Проблемы с настройками затрат на доставку
-
12-12-2019 - |
Вопрос
У меня есть два варианта, чтобы заказать продукт.
- забрать себя (работает)
- Доставка, порядок ниже 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
.