Вход/Регистрация
Разрботка расширений для CMS Joomla
вернуться

Седова Яна Анатольевна

Шрифт:

Приложение (класс JApplication)

Очередь сообщений

В Joomla существует очередь сообщений– массив строк, которые будут выведены на экран при следующей загрузке какой-либо страницы. Стандартными являются три типа сообщений (рис. 1.2): message (собственно сообщение), notice (предупреждение) и error (ошибка):

Рис. 1.2. Типы сообщений

Для добавления сообщений в очередь используется метод void enqueueMessage(string $msg, [string $type = 'message']), где:

$msg - текст сообщения; $type - тип сообщения.

Например:

global $app; $app->enqueueMessage('Message'); $app->enqueueMessage('Notice', 'notice'); $app->enqueueMessage('Error', 'error');

В данном примере $app - это глобальный объект JApplication.

Для получения копии очереди сообщений используется метод array getMessageQueue. Например, для предыдущей очереди из трех сообщений он возвращает массив:

Array ( [0]=>Array ( [message]=>Message [type]=>message ) [1]=>Array ( [message]=>Notice [type]=>notice ) [2]=>Array ( [message]=>Error [type]=>error ) )

Перенаправление

Для перенаправления пользователя к другому URL используется метод void redirect(string $url, string $msg='', string $msgType='message', bool $moved=false), где:

$url - URL, к которому перенаправляется пользователь; $msg - сообщение, которое должно быть при этом выведено; $msgType - тип сообщения; $moved - при значении true браузер получит код состояния "301 Permanently Moved", в противном случае - "303 See Other".

Данный метод добавляет сообщение к очереди сообщений, перенаправляет браузер пользователя к заданному URL и завершает работу приложения Joomla. Например:

global $app; $app->redirect('index.php', JText::_('NOTICE'), 'notice');

Второй способ организации перенаправления - использовать метод JController::setRedirect, который будет рассмотрен ниже вместе с другими методами класса JController.

Получение параметров конфигурации сайта

В число параметров конфигурации сайта входят настройки базы данных, почты, сервера, FTP, метаданных, SEO и другие. Для получения значений этих параметров используется метод

mixed getCfg(string $varname, string $default=null)

где $varname - название параметра.

Для примера получим название сайта:

global $app; echo $app->getCfg('sitename');

Определение типа запущенного приложения Joomla

Чтобы определить, откуда запущен код, можно использовать методы

int getClientId bool isAdmin bool isSite

Метод getClientId возвращает id запущенного приложения: 0 (сайт), 1 (панель управления), 2 (установщик).

Метод isAdmin определяет, является ли запущенное приложение бэкендом, isSite - фронтендом.

Панели инструментов (класс JToolBarHelper)

Joomla автоматически загружает в верхней правой части экрана бэкенда компонента файл, который называется toolbar.<имя компонента>.php. Таким образом можно отображать различные панели инструментов.

Класс JToolBarHelper содержит методы, которые генерируют HTML-код для построения кнопок панелей инструментов. Для отображения кнопок, которые часто используются в компонентах, - "Сохранить", "Отменить", "Удалить" - существуют готовые методы этого класса. Их список можно найти в документации Joomla: ссылка: http://docs.joomla.org/JToolBarHelper.

Для методов addNew, publish, publishList, makeDefault, unpublish, editList, save, apply заданы по умолчанию два параметра - задача (об ее значении будет сказано ниже) и подпись. Например, значения этих параметров по умолчанию для метода editList выглядят так: $task = 'edit', $alt = 'Edit'. Можно задавать свои задачу и подпись, передавая их как, соответственно, первый и второй параметры.

Метод для удаления объектов имеет прототип

void deleteList(string $msg =, string $task = 'remove', string $alt = 'JTOOLBAR_DELETE')

где $msg - это текст сообщения с просьбой подтвердить удаление объектов. Если этот параметр задан, то при нажатии кнопки для удаления будет выводиться окно с заданным сообщением и объекты будут удалены только после нажатия кнопки " ОК" в этом окне. Если же параметр $msg не задан, то объекты будут удаляться без предупреждения.

В сложных случаях, когда требуется не просто изменить задачу и подпись, а создать собственную кнопку, используется метод

void custom(string $task = '', string $icon = '', string $iconOver = '', string $alt = '', bool $listSelect = true)

  • Читать дальше
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: