Salve a tutti,
esiste la possibilita di decidere che tipo di pagamento sia possibile a secondo dell'articolo su Magento 1.8.1?
Vorrei offrire il pagamento in contrassegno solo su alcuni articoli e su altri no....
Intercettando l'evento payment_method_is_active puoi disabilitare un metodo di pagamento durante il checkout;
ecco un esempio di observer:
<?php class Aleron75_Paymentcheck_Model_Observer { /** * @event payment_method_is_active */ public function checkPayment(Varien_Event_Observer $event) { /** @var StdClass $result */ $result = $event->getResult(); /** @var Mage_Payment_Model_Method_Abstract $methodInstance */ $methodInstance = $event->getMethodInstance(); /** @var Mage_Sales_Model_Quote $quote */ $quote = $event->getQuote(); // assegnare il valore di $canUseCashondelivery a seconda della logica desiderata $canUseCashondelivery = false; if ($methodInstance->getCode() == 'cashondelivery' && $canUseCashondelivery) { $result->isAvailable = false; } } }
devi valorizzare la variabile $canUseCashondelivery andando a cercare nel $quote se sono presenti o meno articoli che non permettono questo tipo di pagamento;
se non usi il contrassegno di Magento ma un altro metodo devi sostituire la stringa 'cashondelivery' con il codice del metodo di pagamento specifico; lo trovi nel relativo model.
Un saluto