Использование JToolBarHelper. Создание кнопок в административной панели Joomla! Печать
Статьи - Joomla 1.5

При разработке модулей и компонентов Joomla! часто требуется добавить кнопки в административной панели (бэкэнде), ниже мы рассмотрим как это сделать.

Использование JToolBarHelper
Когда Вы добавляете метод JToolBarHelper в административной части Joomla!, он выводит соответствующий значок и формирует функцию-обработчик.
Вы можете изменить функцию по умолчанию так:

$this->registerTask('add', 'edit');


Первый параметр JController::registerTask определяет задачу, а второй - метод выполнения. В примере мы изменили функцию по умолчанию для кнопки "Добавить".

Кнопки по умолчанию / функции, встроенные в Joomla! 1.5

JToolBarHelper::title();
JToolBarHelper::spacer();
JToolBarHelper::divider();
JToolBarHelper::custom();
JToolBarHelper::customX();
JToolBarHelper::preview();
JToolBarHelper::help();
JToolBarHelper::back();
JToolBarHelper::media_manager();
JToolBarHelper::addNew();
JToolBarHelper::addNewX();
JToolBarHelper::publish();
JToolBarHelper::publishList();
JToolBarHelper::makeDefault();
JToolBarHelper::assign();
JToolBarHelper::unpublish();
JToolBarHelper::unpublishList();
JToolBarHelper::archiveList();
JToolBarHelper::unarchiveList();
JToolBarHelper::editList();
JToolBarHelper::editListX();
JToolBarHelper::editHtml();
JToolBarHelper::editHtmlX();
JToolBarHelper::editCss();
JToolBarHelper::editCssX();
JToolBarHelper::deleteList();
JToolBarHelper::deleteListX();
JToolBarHelper::trash();
JToolBarHelper::apply();
JToolBarHelper::save();
JToolBarHelper::cancel();
JToolBarHelper::preferences();
JToolBarHelper::addEntry();

Ниже представлен синтаксис пользовательской кнопки Joomla!:

JToolBarHelper::custom('task','icon','icon over','alt', boolean, boolean );

Значки, связанные с этими функциями должны хранится в директории: www/administrator/templates/khepri/images
CSS-файл, используемый для вывода кнопок Joomla!, хранится в: www/administrator/templates/khepri/css/icon.css
Этот CSS-файл подключен через административный шаблон Joomla! Если Вы желаете включить свой собственный значек в панель упраления Joomla!, то Вам
необходимо будет домавить соответствующие строки в файл CSS, например:

icon-32-iconname {

background-image: url(../../images/menu/icon-32-iconfile.png);

}

Как Вы видите, название значка и название файла значка могут не совпадать. Вы можете поместить файл значкаи и собственный CSS-файл в любую папку вашего компонента.
Чтобы подключить собственный CSS-файл к шаблону административной части Joomla, используйте

JHTML::_('stylesheet','THISCOMPONENTNAME.css','components/THISCOMPONENT/assets/css/');

При нажатии на кнопку Joomla! используется JavaScript, расположенный в includes/js/joomla.javascript.js

function submitbutton(pressbutton) {

submitform(pressbutton);

}


Вы можете переопределить эту функцию под собственные нужды.Чтобы сохранить кнопки на панели инструментов в рабочем состоянии,Вы должны заменить document.adminForm.task.value значением нажимной кнопки:

function submitbutton(pressbutton) { // Some conditions document.adminForm.task.value=pressbutton;
// More conditions

submitform(pressbutton);
}

Кнопка загрузки (Upload button) Joomla!

Метод 1

// Add an upload button and view a popup screen width 550 and height 400

$alt ="Upload";
$bar=&
JToolBar::getInstance('toolbar' );
$bar->
appendButton('Popup','upload',$alt,'index.php', 550, 400 );

Метод 2

// You view button for popup media manager tools

JToolBarHelper::media_manager('/' );