Zadałem to pytanie na Magento Stackexchange bez powodzenia, stąd teraz proszę tutaj.Magento - OnePage Zamówienie - Ukryj metodę płatności w zależności od metody wysyłki
Używam Magento Community Edition 1.9.0.1 i poprawnie utworzyłem i zarejestrowałem mój moduł, ale nie mogę wykryć metod wysyłki. Zasadniczo chcę ukryć Gotówka przy odbiorze, jeśli Stawka płaska lub została wybrana bezpłatna wysyłka. Oto kod mam dla mojej klasie obserwatora:
class Kol_PaymentToggle_Model_Observer
{
public function paymentMethodIsActive(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
$method = $event->getMethodInstance();
$result = $event->getResult();
$quote = $observer->getEvent()->getQuote();
$shippingMethod = $quote->getShippingAddress()->getShippingMethod();
if($shippingMethod == "standardshipping" || $shippingMethod == "free") {
if($method->getCode() == 'cashondelivery') {
$result->isAvailable = false;
}
}
}
}
Zgaduję, że nie zostały wykorzystane poprawnych nazw kodowych metody wysyłki lub nazwy kod metody płatności, ale jestem pewien. Czy ktoś ma jakieś rady?
EDIT: Mam tylko metody 3 wysyłki włączona:
- Zbierz w magazynie
title = Zbierz w Store
Method Name = Zbierz w magazynie (Extension link) - Flat Rate
Tytuł = dostawa standardowa
Nazwa metody = standardowa wysyłka - Free Shipping
Title = Bezpłatna dostawa
Metoda Name = bezpłatny
EDIT 2: Wyjście config.xml
<?xml version="1.0"?>
<config>
<modules>
<Kol_PaymentToggle>
<version>0.0.1</version>
</Kol_PaymentToggle>
</modules>
<frontend>
<events>
<payment_method_is_active>
<observers>
<paymentfilter_payment_method_is_active>
<type>singleton</type>
<class>Kol_PaymentToggle_Model_Observer</class>
<method>paymentMethodIsActive</method>
</paymentfilter_payment_method_is_active>
</observers>
</payment_method_is_active>
</events>
</frontend>
</config>
Mam nadzieję, że ta dodatkowa informacja może okazać się przydatna na pomoc mnie!
czy możesz mi powiedzieć, w którym przypadku kod jest pożarem? –
Cześć Amit. Jest przeznaczony do strzelania na miejscu w kasie w miejscu, w którym dana osoba musi wybrać metodę płatności. – maGz
Wylogować kod xml –