Ich verwende CE 1.9.0.1 und habe mein Modul korrekt erstellt und registriert, aber ich kann die Versandmethoden anscheinend nicht erkennen. Grundsätzlich möchte ich verstecken Nachnahme wenn Flatrate oder freies Verschiffen gewählt wird. Hier ist der Code, den ich für meine Beobachterklasse habe:
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;
}
}
}
}
Ich vermute, dass ich nicht die richtigen Versandmethoden-Codenamen oder Zahlungsmethoden-Codenamen verwendet habe, bin mir aber nicht sicher. Hat jemand einen Rat?
BEARBEITEN: Ich habe nur 3 Versandarten aktiviert:
- Im Geschäft sammeln
Titel = Im Geschäft sammeln
Methodenname = Im Geschäft sammeln ( Erweiterungslink ) - Flatrate-
Titel = Standardversandmethode
Name = Standardversand - Kostenloser Versand
Titel = Kostenlose Versandart
Name = Kostenlos
Hoffentlich können sich diese zusätzlichen Informationen als nützlich erweisen, um mir zu helfen!
Die obige Methode hat auch bei mir funktioniert, aber mein Dateispeicherort war anders. /httpdocs/app/design/frontend/base/default/template/onestepcheckout/material/onestepcheckout/payment_method.phtml
quelle