我想覆盖模块的helper.php
文件,完全
\管理员\模块\ mod_quickicon \ helper.php
我想要的是更新此文件中的getButtons函数
我必须覆盖此特定文件的选项有哪些?它可以使用插件吗?
感谢
答案 0 :(得分:7)
您实际上只能对名为default.php的tmpl文件夹中的文件执行模板覆盖。如果要覆盖helper.php,则基本上是重写模块本身。这不一定是坏事,只需将现有helper.php文件的内容复制到另一个文件进行备份,然后就可以了。这样做的缺点是,如果有人更新模块,并且您安装了该更新,则必须重做您的黑客攻击。再说一次,解决起来并不难。只需备份备份备份。
更多想法: 您还可以执行以下操作: 1)将模块复制到另一个文件夹,也以mod_开头,但名称不同。 2)修改xml文件,帮助文件,组件文件(以及必要的任何其他文件)以考虑新名称。也做任何你想要的帮助.php。 3)转到扩展管理器并执行此新模块的发现安装 4)转到模块管理器并创建新模块的新实例(使用与旧模块相同的位置)。 5)取消发布您要替换的模块
这样做可以确保您免受更新丢失。
答案 1 :(得分:-1)
以下是我对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"
享受!