В системе электронной коммерции Magento есть три события, которые запускаются до полной загрузки системы
resource_get_tablename
core_collection_abstract_load_before
core_collection_abstract_load_after
Эти события также срабатывают после. Magento загрузился.
Какое безопасное и элегантное (а может быть, событие, известное в Mage core team) способ обнаружить , когда Magento полностью загрузился, чтобы вы могли безопасно использовать эти события?
Если вы попытаетесь использовать определенные функции в предварительно загрунтованном состоянии, весь запрос будет 404. лучше всего я придумал (self-link for контекст) до сих пор что-то вроде этого
class Packagename_Modulename_Model_Observer
{
public function observerMethod($observer)
{
$is_safe = true;
try
{
$store = Mage::app()->getSafeStore();
}
catch(Exception $e)
{
$is_safe = false;
}
if(!$is_safe)
{
return;
}
//if we're still here, we could initialize store object
//and should be well into router initialization
}
}
но это немного громоздко.