在Magento中的后端块(选项卡编辑表单)中添加额外的js

时间:2012-08-16 12:01:37

标签: javascript magento block backend

我正在尝试将一个额外的js文件添加到管理块中,我想通过php代码执行此操作。

方案
我的块是管理员编辑表单的标签块,因此它会扩展Mage_Adminhtml_Block_Widget_Form并实现Mage_Adminhtml_Block_Widget_Tab_Interface

我的方法
在tab块类__prepareLayout()方法中,我添加了这一行:

 $this->getLayout()->getBlock('head')->addJs('folder/gallery.js');

这应该没问题,但实际上并没有导入任何js。

2 个答案:

答案 0 :(得分:4)

为什么不使用布局XML呢?理想情况下,您可以为模块指定adminhtml布局更新文件,但是您可以将local.xml文件添加到adminhtml/default/default/layout文件夹,然后执行正常的<reference name="head"><action method="addJs">...</reference>调用。

答案 1 :(得分:0)

正如@benmarks所建议的那样,这是一种特殊情况,但与描述How to add JS programmatically in Magento?

的情况类似

问题是已经渲染了相同的'head'块。

我找到了针对这种特殊情况的解决方案(在后端的编辑选项卡表单块中添加js):

要解决此问题,我在扩展_prepareLayout()

的块的Mage_Adminhtml_Block_Widget_Form方法中添加了上述行