Я создал расширение для себя, которое импортирует заказы из API. Это происходит через cronjob. Импорт работает нормально, но теперь я создал собственный способ оплаты.
Теперь, когда я хочу установить пользовательский метод в порядке, он выдает ошибку:
Не удалось открыть «Маг / Импортер / Модель / Метод / Dobeno.php»
Он не распознает мою модель, которую я зарегистрировал в config.xml.
В config.xml у меня есть следующее:
<global>
<models>
<dobeno>
<class>Dobeno_Importer_Model</class>
</dobeno>
</models>
</global>
<default>
<payment>
<dobeno>
<model>importer/method_dobeno</model>
<active>1</active>
<order_status>externalorder</order_status>
<title>Dobeno external</title>
<allowspecific>0</allowspecific>
<shippingallowspecific>0</shippingallowspecific>
<disallowspecificshippingmethods>0</disallowspecificshippingmethods>
<display_zero_fee>0</display_zero_fee>
<sort_order>1</sort_order>
</dobeno>
</payment>
</default>
И cronjob отлично работает, когда я использую способ оплаты по умолчанию.
Код, который устанавливает способ оплаты:
$quotePayment->setMethod('dobeno');
Файл Dobeno / Импортер / Модель / Метод / Dobeno.php:
class Dobeno_Importer_Model_Method_Dobeno extends Mage_Payment_Model_Method_Abstract
{
protected $_code = 'dobeno';
protected $_isInitializeNeeded = true;
protected $_canUseInternal = false;
protected $_canUseForMultishipping = false;
}
Magento ver. 1.9.2.3
Наконец-то нашел проблему. Была проблема с именованием.
Изменил XML на
<global>
<models>
<dobeno_importer>
<class>Dobeno_Importer_Model</class>
</dobeno_importer>
</models>
</global>
<default>
<payment>
<dobeno>
<model>dobeno_importer/method_dobeno</model>
<active>1</active>
<order_status>externalorder</order_status>
<title>Dobeno external</title>
<allowspecific>0</allowspecific>
<shippingallowspecific>0</shippingallowspecific>
<disallowspecificshippingmethods>0</disallowspecificshippingmethods>
<display_zero_fee>0</display_zero_fee>
<sort_order>1</sort_order>
</dobeno>
</payment>
</default>
Других решений пока нет …