2

我正在尝试向管理块添加一个额外的 js 文件,我想通过 php 代码来做到这一点。

场景
我的块是管理员编辑表单的选项卡块,因此它扩展Mage_Adminhtml_Block_Widget_Form和实现Mage_Adminhtml_Block_Widget_Tab_Interface

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

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

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

4

2 回答 2

4

为什么不使用布局 XML 执行此操作?理想情况下,您会为您的模块指定一个 adminhtml 布局更新文件,但您可以将 local.xml 文件添加到该adminhtml/default/default/layout文件夹​​并在其中进行正常<reference name="head"><action method="addJs">...</reference>调用。

于 2012-08-16T12:48:08.750 回答
0

正如@benmarks 所建议的,这是一种特殊情况,但类似于如何在 Magento 中以编程方式添加 JS?

问题是已经渲染了相同的“头”块。

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

为了解决这个问题,我在_prepareLayout()扩展块的方法中添加了上述行Mage_Adminhtml_Block_Widget_Form

于 2012-08-16T12:35:15.387 回答