2011-08-12 13 views
6

Najpierw chciałem stworzyć nowy atrybut. Nazwijmy to "Czynnikiem cenowym". Wartości całkowite można ustawić na stronie produktu w administracyjnym panelu sterowania.Jak tworzyć niestandardowe wiadomości w magento, gdy użytkownik dodaje element do koszyka?

Z przodu, za każdym razem, gdy użytkownik doda przedmiot do koszyka, w torebce pojawi się komunikat "Twoja stara cena to X, a twoja nowa cena to Y" (gdzie X było pierwotną ceną a Y to skorygowana cena.)

W jaki sposób utworzyć niestandardową wiadomość, gdy ktoś doda coś do koszyka?

Odpowiedz

12

Pierwszą rzeczą, którą musisz zrobić, to posłuchać zdarzenia, które zostanie wywołane, gdy element zostanie dodany do koszyka. To się nazywa checkout_cart_add_product_complete i pochodzi z Mage/Checkout/controllers/CartController.php.

Podpis przypadku gdy jest to depesze:

Mage::dispatchEvent('checkout_cart_add_product_complete', 
    array(
     'product' => $product, 
     'request' => $this->getRequest(), 
     'response' => $this->getResponse() 
    ) 
); 

możemy uzyskać dostęp do produktu, który został dodany do koszyka poprzez zmienną produktu. Oznacza to, że możemy ocenić, czy musimy pokazać naszą nową wiadomość, czy nie, na podstawie Twojego atrybutu.


Następnym krokiem jest dodanie wiadomości flash do strony. Jest to kontrolowane za pomocą sesji. Istnieją trzy typy wiadomości, które można wykorzystać: sukces, błąd i powiadomienie. Dodanie wiadomości jest proste:

Mage::getSingleton('core/session')->addSuccess($message); 
Mage::getSingleton('core/session')->addError($message); 
Mage::getSingleton('core/session')->addNotice($message); 
Powiązane problemy