Javascript 添加JS&;CSS通过观察员发送至magento的管理负责人
我需要根据设置表单数据库将inline JS、JS path和CSS path/inline添加到我的magento管理员的头部,所以我能想到的唯一选项是使用观察者加载JS/CSS 我在控制器和xml级别尝试了各种技术,如下所示 Adminhtml控件Javascript 添加JS&;CSS通过观察员发送至magento的管理负责人,javascript,css,xml,magento,observers,Javascript,Css,Xml,Magento,Observers,我需要根据设置表单数据库将inline JS、JS path和CSS path/inline添加到我的magento管理员的头部,所以我能想到的唯一选项是使用观察者加载JS/CSS 我在控制器和xml级别尝试了各种技术,如下所示 Adminhtml控件 //Does NOT append to head $block = $this->getLayout()->createBlock('Mage_Core_Block_Template','my.block', array('temp
//Does NOT append to head
$block = $this->getLayout()->createBlock('Mage_Core_Block_Template','my.block', array('template' => 'my.file.phtml'));
$this->getLayout()->getBlock('head')->append($block);
XML布局文件
<reference name="head">
<!-- Does NOT work -->
<block type="core/template" name="mytemplate" as="mytemplate" template="add.to.head.phtml"/>
<!-- Works but at End of page/footer, I need it in the head -->
<block type="core/template" output="toHtml" name="mytemplate" as="mytemplate" template="add.to.head.phtml"/>
</reference>
通过观察者
//Does NOT append to head
$block = $this->getLayout()->createBlock('Mage_Core_Block_Template','my.block', array('template' => 'my.file.phtml'));
$this->getLayout()->getBlock('head')->append($block);
config.xml
...
独生子女
myextension/adminobserver
addJavascriptBlock
...
Adminobserver.php
//也不起作用
公共函数addJavascriptBlock($observer)
{
$js_core_output=“警报('Me works!!!!');]]>”;
//输出到XML
$layout=$observer->getEvent()->getLayout();
$update=$layout->getUpdate();
$xml=”
$js_核心_输出
";
$update->addUpdate($xml);
返回;
}
如果不使用addJS的addCSS或overwriting head.phtml,似乎很难添加到magento admin head,我不喜欢这样做
//Does NOT work either
public function addJavascriptBlock($observer)
{
$js_core_output = "<![CDATA[<script type='text/javascript' >alert('Me works!!!!');</script>]]>";
//Output to XML
$layout = $observer->getEvent()->getLayout();
$update = $layout->getUpdate();
$xml = "<reference name='head'><block type='core/text' name='add.to.head'><action method='setText'><text>
$js_core_output
</text></action></block></reference>";
$update->addUpdate($xml);
return;
}