在 Magento 电子商务系统中,系统完全启动之前会触发三个事件
resource_get_tablename
core_collection_abstract_load_before
core_collection_abstract_load_after
这些事件也会在Magento 启动 后触发。
什么是一种安全且优雅(可能是事件 Mage 核心团队有福)的方法来检测Magento何时完全引导,以便您可以安全地使用这些事件?
如果您尝试在预引导状态下使用某些功能,则整个请求将 404。到目前为止,我想出的最好的(上下文的自链接)是这样的
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
}
}
但这有点笨拙。