Доступ к стоимости доставки в корзине Magento и / или на кассе

Обратите внимание, этот вопрос касается стоимости доставки, а не цены. Существует важное различие, то есть, какую сумму в долларах США взимает с владельца магазина способ доставки, в отличие от суммы, взимаемой покупателем.

Таблица базы данных 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');

Я вижу рассчитанную цену , однако стоимость не присутствует в этой модели.

В этой модели. этап, у меня заканчиваются идеи. Любые предложения с благодарностью получены!

Спасибо, Джонатан

5
задан Jonathan Day 3 October 2010 в 05:26
поделиться