我正在尝试在Magento中调试外部模块。在那里,当我登录管理员端时,我弹出一些消息并且还收到一条通知消息。安装的模块生成脚本代码以提示弹出消息,div显示通知。生成此HTML并将其附加在DASHBOARD页面中,该页面的正文类别为“adminhtml-dashboard-index
”
我想可能有某种方法可以使用仪表板页面推送生成的代码。
使用像DASHBOARD这样的核心模块添加外部模块通知或某些html或生成的js脚本的可能方法是什么?
希望你理解我的问题......
提前致谢
答案 0 :(得分:2)
这是将一个块放在那里的一种方法。观察adminhtml_block_html_before事件:
<events>
<adminhtml_block_html_before>
<observers>
<super_adminhtml_block_html_before>
<class>super/observer</class>
<method>beforeAdminHtml</method>
</super_adminhtml_block_html_before>
</observers>
</adminhtml_block_html_before>
</events>
然后,创建一个新块并将其附加到通知块。
public function beforeAdminHtml($observer)
{
$block = $observer->getEvent()->getBlock();
if ($block->getNameInLayout() == 'root') {
$extendBlock = $this->_createMyNoticeBlock();
if ($extendBlock) {
$block->getChild('notifications')->append($extendBlock);
}
}
}
我用它来插入我自己的HTML块,其中通知通常显示在标题中 - 不仅显示在仪表板上,还显示在所有管理页面上。