我想重寫一個helper.php
文件模塊的模塊,正是的Joomla 1.7:覆蓋helper.php
\管理員\模塊\ mod_quickicon \ helper.php
我想要的是更新這個文件中的getButtons函數
我有什麼選擇來覆蓋這個特定的文件?它可能使用插件?
感謝
我想重寫一個helper.php
文件模塊的模塊,正是的Joomla 1.7:覆蓋helper.php
\管理員\模塊\ mod_quickicon \ helper.php
我想要的是更新這個文件中的getButtons函數
我有什麼選擇來覆蓋這個特定的文件?它可能使用插件?
感謝
你真的可以做到只在所謂的如default.php文件夾TMPL的文件的模板覆蓋。如果你想重寫helper.php,你本質上是重寫模塊。這不一定是壞事,只需將現有的helper.php文件的內容複製到另一個文件中進行備份即可。這樣做的缺點是,如果有人更新模塊,並且安裝該更新,則必須重做你的黑客。再一次,解決問題並不難。只需備份備份備份。
還有一些想法: 您還可以執行以下操作: 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"
享受!
您的解決方案可覆蓋模板,但不是幫手。請參閱:https://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core – Chofoteddy 2015-10-09 22:37:06