Создать, Заметьте, в классе Mage Core Model App для функции run
глядя на класс app\code\core\Mage\Core\Model\App.php
, имеем следующую функцию:
public function run($params)
{
$options = isset($params['options']) ? $params['options'] : array();
$this->baseInit($options);
Mage::register('application_params', $params);
if ($this->_cache->processRequest()) {
$this->getResponse()->sendResponse();
} else {
$this->_initModules();
$this->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS);
if ($this->_config->isLocalConfigLoaded()) {
$scopeCode = isset($params['scope_code']) ? $params['scope_code'] : '';
$scopeType = isset($params['scope_type']) ? $params['scope_type'] : 'store';
$this->_initCurrentStore($scopeCode, $scopeType);
$this->_initRequest();
Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
}
$this->getFrontController()->dispatch();
}
return $this;
}
, Чтобы добавить event/observer
используем следующий код:
<events>
<EVENT_TO_HOOK>
<observers>
<module>
<type>singleton</type>
<class>company_module_model_observer</class>
<method>methodToCall</method>
</module>
</observers>
</EVENT_TO_HOOK>
</events>
, Какое событие следует добавить, чтобы посмотреть, функция run
класс Mage_Core_Model_App
?
1 answers
Не удается наблюдать функция run
класс Mage_Core_Model_App
и через события.
Единственное событие вызвало в этом классе был application_clean_cache
. Проверьте полный список в http://www.nicksays.co.uk/magento-events-cheat-sheet-1-8/
Но список выше стоит версия 1.8 - это событие, описанное выше, уже не существует.
События через метод dispatchEvent
. Например:
Mage::dispatchEvent('application_clean_cache', array('tags' => $tags));
(источник: http://freegento.com/doc/d8/d98/_app_8php-source.html#l01084)
В код функции run
app\code\core\Mage\Core\Model\App.php
, опубликовано в вопрос, мы видим, что нет вызова Mage::dispatchEvent
. Это означает, что событие не срабатывает, и, следовательно, нет события, чтобы быть замеченным и поймали там.
Альтернативой расширить этот класс и сделать override функция.
, Или то (хотя и не рекомендуется) изменить код функции в Magento, добавив съемки события dispatchEvent
...