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

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

При разработке модулей и компонентов 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( '/' );

Комментарии 

 
+1 #4 Денис 24.10.2014 20:00
:lol: Через контроллер компонента
Цитирую ilianna.ru:
С кнопками то все понятно а вот с тем как их задействовать нет... :-|
Цитировать
 
 
0 #3 Денис 24.10.2014 19:59
:lol: Через контроллер компонента
Цитировать
 
 
0 #2 Hishchnik 15.05.2014 23:38
Цитирую ilianna.ru:
С кнопками то все понятно а вот с тем как их задействовать нет... :-|

чтоб кнопка работала нужно указывать контроллер например:
материалы, используется контроллер Article значит кнопка будет:
JToolBarHelper: :custom( 'article.task', 'icon', 'icon over', 'alt', boolean, boolean );
сам только что столкнулся с этим, минут 10 соображал :-*
Цитировать
 
 
0 #1 ilianna.ru 27.07.2013 14:06
С кнопками то все понятно а вот с тем как их задействовать нет... :-|
Цитировать