Цикл статей по созданию пользовательского меню Joomla!
В этой статье я хотел бы вкратце ознакомить вас с использованием встроенного класса Joomla! JToolBarHelper для построения меню в панели администрирования. Примеры использования данного класса вы можете найти в исходниках админ части Joomla!, например, в компоненте com_content в папке views->articles файл view.html.php (поскольку этот функционал относиться непосредственно к интерфейсу пользователя, который мы видим на экране).
Для программирования полноценного компонента нам нужно, естественно, CRUD(create, read, update, delete) операции, операция сохранения и прочие. Функционал для быстрого включения данных возможностей в наш кастомный компонент уже присутствует в Joomla! в виде набора статических методов абстрактного класса JToolBarHelper.
Рис. Пример меню в админ панели
Краткий обзор методов данного класса и их возможности:
- JToolbarHelper::title –возможность определить текст заглавия и иконку
Пример: ToolBarHelper::title(JText::_('COM_CONTENT_ARTICLES_TITLE'), 'article.png');
- JToolBarHelper::divider – отображает разделитель между кнопками меню
Пример: JToolBarHelper::divider();
- JToolBarHelper::publish – кнопка публикации
Пример: JToolBarHelper::publish('articles.publish', 'JTOOLBAR_PUBLISH', true);
- JToolBarHelper::unpublish– кнопка публикации
Пример: JToolBarHelper::unpublish('articles.unpublish', 'JTOOLBAR_UNPUBLISH', true);
- JToolBarHelper::addNew – кнопка добавления нового элемента
Пример: JToolBarHelper::addNew('article.add');
- JToolBarHelper::deleteList – удаление списка отмеченных элементов
Пример: JToolbarHelper::deleteList('', 'banners.delete',
'JTOOLBAR_EMPTY_TRASH');
- JToolBarHelper::trash – перемещение объектов в Треш менеджер
Пример: JToolbarHelper::trash('clients.trash');
- JToolBarHelper::apply – кнопка сохранения (происходит сохранение, но текущая страница не закрывается)
Пример: JToolbarHelper::apply('profile.apply');
- JToolBarHelper::save – кнопка сохранения (происходит сохранение, с последующим закрытием страницы)
Пример: JToolbarHelper::save('profile.save');
- JToolBarHelper::cancel – кнопка отмены, вызывающая операцию «отмена»
Пример: JToolbarHelper::cancel('profile.cancel', 'JTOOLBAR_CLOSE');
- JToolBarHelper:: editList– кнопка редактирования для списка записей
Пример: JToolbarHelper::editList('banner.edit');
Для таких методов как editList, deleteList, addNew имеются расширения, которые выполняют аналогичные функции + делают неактивным главное меню. Это методы с названиями: editListX, deleteListX, addNewX.
Их удобно использовать, чтобы запретить пользователю выполнить любое действие кроме тех, которые позволяет сделать наше меню, состоящее из элементов управления, которые предоставляет класс JToolbarHelper. Иными словами - сделать неактивным главное вернее меню Joomla! Полный список доступных методов, а также особенности их использования я изложу в следующих статьях данного цикла и бесплатных видео уроках.
Удачной разработки!