我想覆盖helper.php
一个模块的文件,正是
\administrator\modules\mod_quickicon\helper.php
我想要的是更新这个文件中的 getButtons 函数
我必须覆盖这个特定文件的选项是什么?它可以使用插件吗?
谢谢
我想覆盖helper.php
一个模块的文件,正是
\administrator\modules\mod_quickicon\helper.php
我想要的是更新这个文件中的 getButtons 函数
我必须覆盖这个特定文件的选项是什么?它可以使用插件吗?
谢谢
您实际上只能对 tmpl 文件夹中名为 default.php 的文件进行模板覆盖。如果你想覆盖 helper.php,你实际上是在重写模块本身。这不一定是坏事,只需将现有的 helper.php 文件的内容复制到另一个文件中进行备份,然后破解即可。这样做的不利之处在于,如果有人更新了模块,并且您安装了该更新,您将不得不重做您的 hack。同样,解决这个问题并不难。只是备份备份备份。
更多想法:您还可以执行以下操作: 1) 将模块复制到不同的文件夹,也以 mod_ 开头,但名称不同。2) 修改 xml 文件、帮助文件、组件文件(以及任何其他必要的文件)以说明新名称。也可以为 helper.php 做任何你想做的事情。3)转到扩展管理器并发现安装此新模块 4)转到模块管理器并创建新模块的新实例(使用与旧模块相同的位置)。5) 取消发布您要替换的模块
这样做可以使您免受更新丢失的影响。
这是我对 Joomla 所做的!3.3.1 但它可以用 Joomla 完成!1.7,太:
复制default.php
自
/administrator/modules/mod_quickicon/tmpl/
至
/administrator/templates/YOUR_ADMIN_TEMPLATE_NAME/html/mod_quickicon/
打开复制的文件并替换下面的行
$html = JHtml::_('links.linksgroups', ModQuickIconHelper::groupButtons($buttons));
这些行:
$myLinks = array(
'YOUR_QUICKICON_GROUP_NAME' => array(
array(
'link' => JRoute::_('index.php?option=com_YOURCOMPONENT'),
'image' => 'stack',
'icon' => 'header/icon-48-article-add.png',
'text' => JText::_('YOUR_QUICKICON_ITEM_NAME'),
'access' => array('core.manage', 'com_YOURCOMPONENT'),
'group' => 'YOUR_QUICKICON_GROUP_NAME'
)
)
);
$array = ModQuickIconHelper::groupButtons($buttons);
$array = array_merge($myLinks, $array);
$html = JHtml::_('links.linksgroups', $array);
而已。您可以编辑或创建/administrator/language/overrides/en-GB.override.ini
并添加这些行:
YOUR_QUICKICON_GROUP_NAME="The Group"
YOUR_QUICKICON_ITEM_NAME="The Item"
享受!