在magento中从模块添加生成的html有哪些可能性?

时间:2012-08-08 15:28:04

标签: php magento

我正在尝试在Magento中调试外部模块。在那里,当我登录管理员端时,我弹出一些消息并且还收到一条通知消息。安装的模块生成脚本代码以提示弹出消息,div显示通知。生成此HTML并将其附加在DASHBOARD页面中,该页面的正文类别为“adminhtml-dashboard-index

我想可能有某种方法可以使用仪表板页面推送生成的代码。

使用像DASHBOARD这样的核心模块添加外部模块通知或某些html或生成的js脚本的可能方法是什么?

希望你理解我的问题......

提前致谢

1 个答案:

答案 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块,其中通知通常显示在标题中 - 不仅显示在仪表板上,还显示在所有管理页面上。