У меня есть настраиваемые продукты с двумя ценами (цена и цена в месяц). Поскольку цена продукта фиксирована и с помощью опций может меняться только цена за месяц, я добавил атрибут (device_price), который будет хранить цену, а атрибут цены будет иметь цену за месяц.
Но, конечно, когда я добавляю товар в корзину, мне нужно взимать цену, а не цену за месяц. поэтому я использовал наблюдатель для checkout_cart_product_add_after, который имеет этот код:
public function updatePrice(Varien_Event_Observer $observer){
$item = $observer->getQuoteItem();
if ($item->getParentItem()) {$item = $item->getParentItem();}
if ($item->getProduct()->isConfigurable()){
$device_price = Mage::getModel('catalog/product')->load($item->getProduct()->getId())->getPrice_device();
//set information
$item->setCustomPrice($device_price);
$item->setOriginalCustomPrice($device_price);
$item->getProduct()->setIsSuperMode(true);
}
}
Но теперь в корзине я хочу показать обе цены, окончательная цена появляется автоматически, когда я обновляю ее в обозревателе, но как мне получить цену за месяц? (цена продукта плюс цена выбранных партнеров).
Я предполагаю, что месячная цена находится где-то в элементе котировки, прежде чем я переопределю ее (действительно ли я переопределяю ее или просто говорю magento, чтобы посмотреть на обычай вместо оригинала?).
Я думал о том, чтобы получить эту месячную цену и сохранить ее где-нибудь в quoteItem, чтобы я мог легко получить к ней доступ в корзине.
Как я могу получить окончательную цену настраиваемого продукта в обозревателе?
Я открыт для других предложений, если считаю, что есть лучший способ подойти к этому.
ИЗМЕНИТЬ РЕШЕНИЕ
Наконец я нашел, где это было. Мне сейчас плохо, потому что на самом деле его очень просто получить :( Я все время пытался получить значение от предмета, но на самом деле он находится на продукте внутри предмета.
$_item->getProduct()->getFinalPrice();
это даст вам окончательную цену настраиваемого продукта с выбранными параметрами.
Может быть, это может помочь кому-то еще не тратить зря время, которое я сделал.
var_dump
, чтобы увидеть, что у вас есть - person Alex   schedule 03.11.2012