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

Add extra js in backend block (tab edit form) in Magento

本文关键字:添加 js 表单 后端 Magento 选项 编辑      更新时间:2023-09-26

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

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

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

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

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

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

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

问题是已经渲染了相同的"头部"块。

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

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