Использование JToolBarHelper. Создание кнопок в административной панели Joomla!
При разработке модулей и компонентов Joomla! часто требуется добавить кнопки в административной панели (бэкэнде), ниже мы рассмотрим как это сделать.Использование JToolBarHelper
Когда Вы добавляете метод JToolBarHelper в административной части Joomla!, он выводит соответствующий значок и формирует функцию-обработчик.
Вы можете изменить функцию по умолчанию так: $this->registerTask('add', 'edit'); Первый параметр JController::registerTask определяет задачу, а второй - метод выполнения. В примере мы изменили функцию по умолчанию для кнопки "Добавить".
Кнопки по умолчанию / функции, встроенные в Joomla! 1.5
Ниже представлен синтаксис пользовательской кнопки Joomla!:
Значки, связанные с этими функциями должны хранится в директории: www/administrator/templates/khepri/images
CSS-файл, используемый для вывода кнопок Joomla!, хранится в: www/administrator/templates/khepri/css/icon.css
Этот CSS-файл подключен через административный шаблон Joomla! Если Вы желаете включить свой собственный значек в панель упраления Joomla!, то Вам
необходимо будет домавить соответствующие строки в файл CSS, например:
Как Вы видите, название значка и название файла значка могут не совпадать. Вы можете поместить файл значкаи и собственный CSS-файл в любую папку вашего компонента.
Чтобы подключить собственный CSS-файл к шаблону административной части Joomla, используйте
При нажатии на кнопку Joomla! используется JavaScript, расположенный в includes/js/joomla.javascript.js
Вы можете переопределить эту функцию под собственные нужды.Чтобы сохранить кнопки на панели инструментов в рабочем состоянии,Вы должны заменить document.adminForm.task.value значением нажимной кнопки:
Кнопка загрузки (Upload button) Joomla!
Метод 1
Метод 2
Комментарии
Цитирую ilianna.ru:
чтоб кнопка работала нужно указывать контроллер например:
материалы, используется контроллер Article значит кнопка будет:
JToolBarHelper: :custom( 'article.task', 'icon', 'icon over', 'alt', boolean, boolean );
сам только что столкнулся с этим, минут 10 соображал