#magento #module #payment
#magento #модуль #оплата
Вопрос:
Я хочу запретить некоторые способы оплаты, пока проверка onepagecontroller находится в режиме indexAction. Я пробовал вот так:
$payments = Mage::getSingleton('payment/config')->getAllMethods();
foreach($payments as $payment)
{
$methodinstance = Mage::helper('payment')->getMethodInstance($payment->getCode());
$methodinstance-> // here i want to set the protected $_canUseCheckout of the specific method class... maybe with __set(var, value) ?
}
Итак, есть ли способ временно установить для canUseCheckout каждого метода значение false? Возможно, мне не обязательно использовать переменные.. может быть, есть функция?
Я не нашел такого в классе методов оплаты Model_Abstract…
Ответ №1:
вы можете отключить любой способ оплаты. для отключения способа оплаты перейдите к модели способа оплаты, которую вы хотите отключить, и оштрафуйте protected $_canUseCheckout = true;
пожалуйста, сделайте эту переменную false и проверьте ее.
Комментарии:
1. Конечно, но я хочу изменить эту переменную во время выполнения Magento. Итак, в режиме реального времени.
2. Возможно, вы можете добавить конфигурацию магазина. Затем перепишите класс, переопределите метод canUseCheckout, проверьте значение конфигурации хранилища и верните логическое значение true / false.