Как включить/отключить способ доставки на основе промежуточного итога заказа?
-
13-12-2019 - |
Вопрос
Я изучаю Magento и пытаюсь создать способ доставки, который появляется только тогда, когда промежуточная сумма в корзине превышает 100 долларов.
Я пытался getSubTotal()
в функции collectRates()
, затем return false
если возвращаемое значение меньше 100.Однако он всегда возвращается 0
.Я предполагаю, что это не было рассчитано на том этапе, это правда?
И есть ли какой-нибудь другой способ, которым я могу сделать то, что хотел?
Пожалуйста, помогите...Большое вам спасибо!
Решение
твой collectRates
метод должен выглядеть следующим образом
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
//if method is disabled
if (!$this->getConfigFlag('active')) {
return false;
}
if ($request->getPackageValue() < 100) {
return false;
}
/** @var Mage_Shipping_Model_Rate_Result $result */
$result = Mage::getModel('shipping/rate_result');
$method = Mage::getModel('shipping/rate_result_method');
$method->setCarrier($this->_code); //add here the payment method code
$method->setCarrierTitle($this->getConfigData('title')); //or you can add any title if it's not configurable
$method->setPrice(your shiping cost here);
$result->append($method);
return $result;
}
Не связан с magento.stackexchange