На самом деле код, который вы ввели, не вызывает событие, а отправляет его, так что другой модуль может прослушивать его.
В этом случае это событие прослушивается модулем Sales: вы можете проверить это, открыв app / code / core / Mage / Sales / etc / config.xml внутри тега <events>
(внутри <adminhtml>
), и вы увидим:
<payment_method_is_active>
<observers>
<sales_billing_agreement>
<class>sales/observer</class>
<method>restrictAdminBillingAgreementUsage</method>
</sales_billing_agreement>
</observers>
</payment_method_is_active>
Вы видите, что первый тег соответствует названию события (payment_method_is_active
).
sales_billing_agreement
- это просто имя для идентификации наблюдения.
<class>sales/observer</class>
сообщает, что файл, содержащий метод, Mage_Sales_Model_Observer
.
И <method>restrictAdminBillingAgreementUsage</method>
- это имя метода в этом файле, который выполняет определенные действия при отправке события и работе с ним.
Взглянув на этот метод, вы увидите, что он принимает один параметр, $observer
, и что $observer
вы можете получить доступ к набору данных в событии, то есть: для доступа к 'result'
-> $methodInstance = $observer->getEvent()->getMethodInstance();
Надежда, которая помогает