Особенности разработки специализированных плагинов под CMS Joomla

NovaInfo 24
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 0
CC BY-NC

Аннотация

Плагин Joomla– это наименьший вид расширений используемых в Joomla и ориентированный на выполнение определенной функции при возникновении в системе определенного события. Большинство плагинов Joomla используются для определенных действий и манипуляций над содержимым перед его отображением, особенно актуально применение плагинов для создания специализированных функций сайтов.

Ключевые слова

ПЛАГИН, РАЗРАБОТКА, JOOMLA, ДВИЖОК

Текст научной работы

Плагины joomla — универсальные дополнения, которые расширяют стандартные возможности Joomla сms и служат решением узких задач. Их можно легко установить через административную панель и так же легко их удалить. Например, это могут быть новые звёздочки на ajaxe, вместо стандартного рейтинга, дополнительные кнопки в визуальном редакторе или плагин обрамляющий все внешние ссылки в теги nofollow и noindex. Как и модуль, плагин позволяет вам расширить функционал ресурса. Однако у плагина есть принципиальное отличие от модуля. Его не нужно устанавливать в какую-то определенную позицию. Плагин работает сам по себе. Те же самые формы авторизации, системы комментирования или, например, галереи могут быть запрограммированы в форме плагинов. Но это уже зависит от индивидуальных особенностей расширения, возможно, в качестве модуля он работает более стабильно.

Плагины обеспечивают загрузку дополнительного функционала и реакцию на системные события (триггеры). Когда на сайте происходит определенное событие, вызывается триггер и все плагины, которые были привязаны к нему начинают выполняться в порядке их подключения.

Событие (триггер) — это какое-то определенное действие со стороны пользователя, самой CMS или даже самих компонентов. В пример таких событий можно назвать начало рендеринга страницы, инициализация системы, авторизация пользователя, сохранение материала и т.д.

Таким образом можно серьезно расширить базовый функционал CMS без изменения ядра, например написать логирование для неудачных попыток авторизации (кстати, это стандартный плагин «Система — Логи»).

В основе реализации плагинов лежит паттерн наблюдатель (Observer). Класс JPlugin является производным от JObserver и предоставляет средства для регистрации собственных плагинов. Класс JEventDispatcher — это расширение класса JObserver. Его основная задача выполнение всех плагинов, которые привязанные к определенному событию в момент.

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

Существует несколько видов плагинов под Joomla:

Authentication (Аутентификация). Существует только одно событие для аутентификации — Это событие вызывается тогда, когда пользователь пытается авторизоваться на сайте или в панели управления.

Captcha (Капча). Капча помогает бороться со спамом, заставляя пользователя вводить некоторый текст, который основан на искаженном изображении. Капча появилась в Joomla начиная с версии 2.5.

Content (Контент). Плагины контента вызываются, когда отображается или редактируется контент. У плагинов группы Content Plugin очень много вариантов применения. Группа Content Plugin имеет прямое отношение к отображению содержимого.

Contacts (Контакты). Плагины контактов включают всего два варианта. Плагин контакта и плагин обратной связи.

Editors (Редакторы). В Joomla редакторы реализованы в качестве плагинов. Они позволяют создавать и редактировать контент на данном сайте.

Editors-XTD. Плагины Editors-XTD используются для создания кнопок, которые отображаются под редакторами (например: Изображение, Разрыв страницы и Подробнее).

Extension (Расширение). Этот тип плагина появился в Joomla 1.6. События расширений вызываются тогда, когда расширения устанавливаются, удаляются или редактируются в Менеджере модулей, плагинов, шаблонов или языков.

Quickicon (Быстрый запуск). Плагины быстрого запуска используются для создания иконок, которые отображаются на стартовой странице панели управления. Для данного типа существует всего одно событие -onGetIcons, которое вызывается тогда, когда модуль Quick Icons конструирует набор иконок.

Search (Поиск). Плагины поиска реализуют функционал поиска в Joomla. Базовые плагины: категории, контакты, контент, ленты новостей и ссылки. События поиска: onContentSearchAreas иonContentSearch. Событие onContentSearchAreas используется для создания массива контента для поиска. Событие onContentSearch используется для исполнения поиска для каждого типа контента. Разработчики расширений могут включать плагины поиска в свои расширения, чтобы разрешить поиску Joomla работать с их компонентом.

Smart Search (Finder — Умный поиск). Эти плагины используются для индексации контента сайта для использования с компонентом "Умный поиск". Существуют плагины для каждого типа контента (категории, контакты, контент, ленты новостей и ссылки) и могут быть включены для разрешения индексации.

System (Система). Системные плагины предоставляют события, которые вызываются при каждом цикле исполнения Joomla. Они включают событие onAfterInitialise (первое событие, которое вызывается в Joomla) и события, привязанные к методам render(), dispatch() и route(). Системные события необходимо использовать для плагинов, которые необходимо вызывать во время каждого цикла исполнения, независимо от того, какая выполняется задача.

User (Пользователь). Плагины пользователя вызываются во время двух различных задач. Одна группа событий привязана к редактированию информации о пользователе в Менеджере пользователя (например: onUserAfterDelete и onUserBeforeSave). Вторая группа событий относится авторизации на сайте (например: onUserLogin и onUserLogout).

Читайте также

Список литературы

  1. Граф Х.Создание веб-сайтов с помощью Joomla! 1.5 : [популярное учебное пособие по Joomla!, обновленное с четом последней версии системы] / Х. Граф ; [пер. с англ. Н. А. Мухина]. – М. : Вильямс, 2009. – 294 c.
  2. Декстер М. Joomla!: программирование / М. Декстер, Л. Лэндри ; [пер. с англ. и ред. И. В. Берштейна]. – М. : Вильямс, 2013. – 592 c.
  3. Золотухин С. А. Практикум разработки образовательного сайта на CMS Joomla! 1.5x / С. А. Золотухин. – Курск : КГУ, 2011.
  4. Колисниченко Д. Н. Joomla 1.5.15/1.6.0: руководство пользователя: [оптимальные решения для начинающих и пользователей средней квалификации] / Д. Н. Колисниченко. – М. : Диалектика, 2010. – 240 c.
  5. Костромин В. А. Конспект вебмастера. Выбор системы управления содержанием сайта (контентом) // Справочник вебмастера. – 2009-2013.
  6. «Создание плагинов» - http://joomla-book.ru/

Цитировать

Ляпунова, И.А. Особенности разработки специализированных плагинов под CMS Joomla / И.А. Ляпунова, И.Н. Чернухин, И.С. Юров. — Текст : электронный // NovaInfo, 2014. — № 24. — URL: https://novainfo.ru/article/2135 (дата обращения: 29.01.2022).

Поделиться