Я создаю модуль для настройки цены своей продукции при добавлении ее в корзину, но она не работает. Я использую метод checkout_cart_product_add_after
.
Шаги, которые я последовал:
1) Создайте XML ( TrediMarketplace_PriceUpdate
) в /app/etc/modules
и он уже появляется на интерфейсе Magento ( System > Configuration > Advanced > Advanced
)
2) Создайте файл config.xml:
<?xml version="1.0"?> <config> <modules> <TrediMarketplace_PriceUpdate> <version>0.0.1</version> </TrediMarketplace_PriceUpdate> </modules> <global> <models> <tredimarketplace_priceupdate> <class>TrediMarketplace_PriceUpdate_Model</class> </tredimarketplace_priceupdate> </models> <events> <checkout_cart_product_add_after> <observers> <tredimarketplace_priceupdate> <class>tredimarketplace_priceupdate/observer</class> <method>priceUpdate</method> </tredimarketplace_priceupdate> </observers> </checkout_cart_product_add_after> </events> </global> </config>
Файл размещен по этому пути: /app/code/local/TrediMarketplace/PriceUpdate
3) Создайте Observer.php:
<?php class TrediMarketplace_PriceUpdate_Model_Observer{ public function priceUpdate(Varien_Event_Observer $observer){ // Get the quote item $item = $observer->getQuoteItem(); // Ensure we have the parent item, if it has one $item = ( $item->getParentItem() ? $item->getParentItem() : $item ); // Load the custom price $price = "300.00"; // Set the custom price $item->setCustomPrice($price); $item->setOriginalCustomPrice($price); // Enable super mode on the product. $item->getProduct()->setIsSuperMode(true); } } ?>
Файл размещен по этому пути: /app/code/local/TrediMarketplace/PriceUpdate/Model
С этими шагами мои ожидания состоят в том, что все продукты, добавленные в корзину, появляются с 300,00 $ (значение, которое я исправил на своем модуле), но это не происходит.
Любое предложение?