Joomla 1.7: переопределить модуль helper.php - PullRequest
1 голос
/ 03 января 2012

Я хочу переопределить helper.php файл модуля, точно

\ administrator \ modules \ mod_quickicon \ helper.php

, что я хочуобновите функцию getButtons в этом файле

Какие параметры у меня есть, чтобы переопределить этот конкретный файл?можно ли использовать плагин?

спасибо

Ответы [ 2 ]

7 голосов
/ 03 января 2012

Вы действительно можете сделать переопределение шаблона только для файла в папке tmpl с именем default.php. Если вы хотите переопределить helper.php, вы по сути переписываете сам модуль. Это не обязательно плохо, просто скопируйте содержимое существующего файла helper.php в другой файл для резервного копирования и взломайте его. Недостатком этого является то, что если кто-то обновляет модуль, и вы устанавливаете это обновление, вам придется повторить свой взлом. Опять же, это не так сложно обойти. Просто бекап бэкап бэкап.

Еще несколько мыслей: Вы также можете сделать следующее: 1) Скопируйте модуль в другую папку, также начиная с mod_, но с другим именем. 2) Измените XML-файл, вспомогательный файл, файл компонента (и любые другие необходимые), чтобы учесть новое имя. Также делайте все, что вы хотите в helper.php. 3) Зайдите в менеджер расширений и выполните обнаружение установки этого нового модуля. 4) Зайдите в менеджер модулей и создайте новый экземпляр нового модуля (используя ту же позицию, что и старый). 5) Отмените публикацию заменяемого вами модуля

Это защитит вас от потери обновлений.

0 голосов
/ 13 июня 2014

Вот что я сделал с 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"

Наслаждайтесь!

...