Обратите внимание, этот вопрос касается стоимости доставки, а не цены. Существует важное различие, то есть, какую сумму в долларах США взимает с владельца магазина способ доставки, в отличие от суммы, взимаемой покупателем.
Таблица базы данных shipping_tablerate
включает поле cost
, которое заполняется в объекте Mage_Shipping_Model_Carrier_Tablerate
во время метода collectRates
. Однако это поле недоступно нигде в стеке, например, из адреса цитаты.
Мне нужно получить доступ к этому значению на странице корзины, и я не могу найти способ его достичь, кроме как создать экземпляр объекта Mage_Shipping_Model_Rate_Request
для передачи в collectRates ()
. Это кажется излишне неэффективным, учитывая, что данные уже загружены из таблицы и должны быть доступны.
Я пробовал наблюдать за событием
, но похоже, что событие _load
не генерируется для этой модели.
Я также попытался получить доступ к тарифу из цитаты:
$quote = Mage::getSingleton('checkout/cart')->getQuote();
$address = $quote->getShippingAddress();
$rate = $address->getShippingRateByCode($code ='tablerate_bestway');
Я вижу рассчитанную цену
, однако стоимость
не присутствует в этой модели.
В этой модели. этап, у меня заканчиваются идеи. Любые предложения с благодарностью получены!
Спасибо, Джонатан