Полезные плагины и модули для joomla
Упорядоченный архив плагинов для Joomla. Только оригинальные файлы, никаких скрытых или рекламных ссылок. Регулярные обновления и добавления новых плагинов. Мгновенное скачивание «в один клик» на скорости в 100 Mbps
Template Extension 1.0.29
UPDATED
Создайте свой собственный шаблон без единой строчки кода!
С помощью этого расширения вы можете настроить весь шаблон вашего сайта. Определите стили текста, списки, ссылки, заголовки, цвета и интервалы. Настрой …
Articles Anywhere PRO 10.1.4
Иногда для упрощения работы с контентом веб-ресурса необходим удобный плагин, позволяющий вставлять статьи в любом месте в любое время. Таким удобным расширением является Articles Anywhere, благодаря которому вы сможе …
Modals PRO 11.5.10
Расширение Modals позволяет создавать всплывающие окна на сайте под управлением CMS Joomla. Причем в этих окнах может быть абсолютно любой вид контента, включая тексты, изображения, видео и прочее. Плагин Modals …
Balbooa Builder Gridbox 2.9.0
Компонент позволяет создавать уникальные страницы сайта в режиме конструктора. Без знаний языка и без технических навыков Вы легко, просто и быстро сможете создать сайт мечты за считанные минуты. И все это в режиме ре …
JAmp 1.8.0
JAmp — мощный плагин для Joomla! который позволяет вам генерировать AMP-версию ваших страниц веб-сайта, чтобы автоматически индексироваться Google с помощью метатегов. Он интегрируется в Joomla! расширение и имеет гиб …
Advanced Template Manager for Joomla 3.8.3
Advanced Template Manager — это расширение, которое изменяет способ работы менеджера шаблонов. С помощью Joomla Вы можете назначать стили шаблона только определенным элементам меню, а помощью Advanced Template Manager …
Zentools2 2.4.8
Zentools2 — это пакет для Joomla 3, который, преимущественно, состоит из модуля и пары вспомогательных плагинов.
Но, несмотря на легкость, это просто огромный набор всевозможных полезных вещей, которые облегча …
RS Membership! 1.22.19
RSMembership! — это мощное решение для организации сайта с подпиской на CMS Joomla. Компонент предоставляет из себя полный контроль над подписчиками, расширяя возможности управления крайне удобным интерфейсом админист …
Google Structured Data Markup 4.5.0
Google Structured Data Markup — это мощный инструмент для создания сниппетов для Google.
Google Structured Data Markup позволит Вам вывести логотип и название сайта в поисковых выдачах, а также настройка и ото …
Components Anywhere PRO 4.6.0
Как правило, при установке какого-либо компонента его размещение на сайте закреплено в одном месте, добраться до которого можно через меню. Благодаря использованию расширения Components Anywhere вы сможете размещать л …
Modules Anywhere PRO 7.10.0
С плагином Modules Anywhere PRO вы можете включать отдельные модули или полные позиции модулей в любом месте вашего сайта, включая статьи, внутри других модулей или даже сторонние компоненты и переопределения шаблонов …
Articles Field PRO 3.2.0
С помощью плагина Articles Field вы можете создавать ссылки между статьями.
Articles Field — это настраиваемый плагин для Joomla, который значительно расширяет возможности настраиваемых полей.
Во …
Sourcerer PRO 8.2.2
Для тех веб-мастеров, которые любят использовать в своей работе и PHP, и JavaScript, и HTML, плагин Sourcerer станет настоящей находкой. Ведь он позволяет использовать коды всех названных языков программирования в обы …
Custom Filters 2.8.2
Custom Filtres — Это настраиваемый набор фильтров для вашего сайта на Joomla, который помогает вашим пользователям найти то, в чем они действительно нуждаются. Также стоит отмет …
JCH Optimize PRO 6.0.1
Полная покупная версия одного из самых популярных плагинов для ускорения Joomla последних версий. Сжимает и объединяет .css и .js файлы, а так же некоторые типы изображений, превращая их в быстро загружаемые спрайты. …
JA Social Feed 1.4.2
Если нужно провести импорт / парсинг контента с таких популярных социальных сетей как: Facebook, Twitter, Youtube, Vimeo, Instagram или Flickr на свой сайт под Joomla, тогда плагин JA Social Feed Plugin для Joomla 2.5 …
K2 Content Builder v1.0.1 b0014
K2 Content Builder — это полностью усовершенствованная система публикации статей для K2, созданная для максимально упрощенной и гибкой работы.
Кроме того плагин позволяет разделить пользователей на группы и пр …
JA Google Map 2.6.6
Плагин JA Google Map позволяет встраивать Google Maps в статьи. Более того, он идет с генератором кода, который позволяет генерировать множество карт с различными конфигурациями и макетами.
Поддерживает множе …
Joom Donation 5.6.13
JoomDonation — это мощное и легкое в использование расширение для вашего сайта на Joomla, которое позволяет вам создавать пожертвования. Установив в плагин, вы сможете создать любое количество одноразовых или повторяю …
Minitek Discussions 3.2.5
Minitek Discussions – это функциональная и легкая в использовании система, для создания мощных систем обсуждения и форумов на вашем Joomla сайте. Расширение имеет огромное количество настроек, поддержку Ajax, что позв …
Dummy Content PRO 6.0.2
Итак, вы создаете новый веб-сайт и хотите заполнить ваши статьи каким-нибудь демонстрационным текстом. Вы переходите на один из многих сайтов с Lorem Ipsum, чтобы скопировать текст, из которого вы можете вставить свои …
Better Trash PRO 1.3.0
Better Trash — это плагин для Joomla, который расширяет возможности корзины.
С его помощью Вы сможете навсегда удалить статью всего в два клика.
Также плагин Better Trash очищает корзину через ука …
Quick Index PRO 2.4.0
Если Вы создаете большие тексты, например инструкции или руководства, то часто приходится делать оглавления вручную. С помощью плагина Quick Index вы можете легко добавить индекс (оглавление) к своему контенту. Индекс …
Tooltips PRO 7.4.1
Расширение Tooltips предназначено для отображения контента по наведению на него курсора во всплывающих окнах. Причем речь идет и о тексте, и об изображениях.
Вы можете настроить отображение во всплывающем окне …
IP Login PRO 4.2.2
С помощью плагина IP Login вы можете автоматически входить, как в административную панель, так на лицевую часть сайта. Он позволяет запоминать Ваш IP-адрес.
Вы можете просто настроить свой IP-адрес и секретный …
Sliders PRO 7.7.8
Плагин Sliders позволяет отображать содержимое интернет-ресурса в виде «аккордеона». То есть вы можете составить внутреннее меню для текста, с помощью которого можно разбить его содержимое на разные блоки и отображать …
Conditional Content PRO 2.6.1
Хотите показать текст только зарегистрированным пользователям?
Или скрыть какой-то контент в декабре?
Хотите отобразить сообщение для мобильных пользователей?
Или скрыть изображение каждый поне …
Snippets PRO 6.6.2
Snippets Pro — это плагин для Joomla, который позволяет добавлять сниппеты в контент. Вы сможете создать множественные сниппеты и вставить их в любое место статьи или другого контента.
Для вставки сниппета исп …
Better Preview PRO 6.2.2
Плагин Better Preview позволяет получить расширенный предварительный просмотр добавляемых на сайт под управлением CMS Joomla материалов. Он не просто показывает вам текст статьи, но и демонстрирует, как именно она буд …
Quix Pagebuilder 2.6.1.1
Quix Pagebuilder — это самый первый и лучший в своем роде конструктор сайтов для Joomla. Благодаря Quix Pagebuilder, вы сможете создавать сайты любой сложности используя лишь перетаскивание и вставку необходимых элеме …
Источник
Только оригинальные чистые файлы без скрытых ссылок. Регулярные обновления и пополнения модулей для Joomla. Быстрое скачивание «в один клик» на скорости в 100 Mbps
User Testimonials 1.2.3
UPDATED
Используйте полное решение для отзывов с возможностью для ваших пользователей отправлять данные непосредственно через ваш сайт в виде текста, фото или видео. Выберите один из различных готовых к использованию варианто …
Notification 2.0.8
UPDATED
Уведомляйте своих пользователей о рекламных акциях или важных событиях.
Существует несколько готовых шаблонов макетов для быстрого создания уведомлений. Варианты варьируются от макетов, содержащих только текст …
Image Galery 3.0.30
UPDATED
Предоставьте на своем веб-сайте галерею изображений с высоким разрешением без ущерба для производительности вашего сервера. Начните с готовых к использованию моделей галереи, настройте все, что вы хотите, и выберите а …
Frequently Asked Questions 1.2.5
UPDATED
Заранее отвечайте на вопросы ваших пользователей и сократите расходы на обслуживание клиентов. Выбирайте между вариантами классики, карт или фильтра по категориям раскладок и получите полное и привлекательное решение …
Video Galery 1.0.26
UPDATED
Показывайте свои видео со стилем и креативностью. Видео галерея может быть лучшим способом предоставить информацию вашим посетителям. В этом расширении вы сможете сделать это простым и стильным способом. Начните …
Carousel, Parallax or Full Page 1.0.30
UPDATED
Стиль и Шарм. Вот что нужно, чтобы привлечь внимание ваших посетителей. Показывайте на своем сайте привлекательные баннеры, содержащие изображения, цвета и тексты без необходимости углубленных знаний в дизайне. В …
Slideshare Presentation 1.0.18
UPDATED
Невероятные презентации, чтобы привлечь внимание к бизнесу.
Встраивайте презентации в сайт. Выберите между отображением презентации в виде текста описания или разделением по вкладкам, что идеально подходит для …
Page Sections 2.0.7
UPDATED
Создавайте страницы вашего сайта, сортируя его содержимое по настраиваемым разделам.
Ваши проблемы с созданием страниц контента с помощью Joomla закончились. С помощью этого расширения вы просто создадите разл …
Site Footer 1.0.21
UPDATED
Отображение нижнего колонтитула, который добавляет простоту и красоту, отображая ваш логотип, кредиты веб-сайта, меню поддержки сайта и ссылки на социальные сети.
Очень гибкий модуль с дружеским интерфейсом ад …
Template Extension 1.0.29
UPDATED
Создайте свой собственный шаблон без единой строчки кода!
С помощью этого расширения вы можете настроить весь шаблон вашего сайта. Определите стили текста, списки, ссылки, заголовки, цвета и интервалы. Настрой …
Youtube video with content 1.0.20
UPDATED
Получите расширение, которое выходит за рамки встраивания Youtube. Начните выбирать готовый к использованию макет и комбинировать модуль видео с текстами и пользовательскими стилями. Установите цвета, значок воспроизв …
Highlights 1.0.32
UPDATED
Сопоставьте тексты, изображения и значки, чтобы выделить содержимое с помощью ползунков. Выделите основные моменты на вашем веб-сайте, чтобы связать соответствующие веб-страницы, перечислить навыки, связанные с п …
Site Header 2.1.3
UPDATED
Получите полный настраиваемый заголовок для вашего сайта, содержащий ссылки, панель поиска, выбор языка и многое другое.
Как это работает: когда вы покупаете расширение, готовые шаблоны макетов будут доступны …
Maps with contact 1.0.24
UPDATED
Интерактивные карты и модуль контактов в одном месте. Поместите на своем сайте интерактивную карту, которая может быть отображена вместе с контактной формой или контактной информацией. Выберите один из множества …
Events Calendar 2.1.5
UPDATED
Календарь может быть лучшим способом отображения информации о событиях для ваших посетителей. В этом расширении вы сможете сделать это простым способом и большим стилем. Начните с выбора одной готовой к использованию …
Minitek Wall Pro 3.9.2.4 & 4.0.14
UPDATED
Для сайтов, работающих на Джумла 3.х с установленными компонентами К2 и Jomsocial есть отличное расширение, позволяющее представлять контент максимально эффектно и эффективно — Minitek Wall. В нем вы сможете создавать …
Balbooa Forms Builder 2.0.4
Balbooa Joomla Forms Builder — это потрясающий компонент для Joomla, который позволяет создавать формы любой сложности и дизайна без каких-либо знаний CSS и PHP.
В компоненте есть своя очень удобная админка. В …
Joomla Articles Good Search 1.2.4 & 1.2.3
Модуль Joomla Articles Good Search добавляет возможность фильтровать и искать по пользовательским полям Joomla. Этот модуль может фильтровать ваш контент по ключевому слову, тегу, категории, дате, автору и настраиваем …
RokSprocket 2.1.28
FREE
RokSprocket это революционное расширение, созданное для полного контроля над презентацией вашего контента. Расширенные настройки вывода, продуманные варианты и опции разметки, простая интеграция с многими источниками …
Zentools2 2.4.8
Zentools2 — это пакет для Joomla 3, который, преимущественно, состоит из модуля и пары вспомогательных плагинов.
Но, несмотря на легкость, это просто огромный набор всевозможных полезных вещей, которые облегча …
JUX Weather Forecast 2.1.1
Модуль JUX Weather Forecast для Joomla – простой способ представлять для пользователей вашего сайта подробный прогноз погоды. Информацию это расширение автоматически берет с сайта weather.com , причем она может быть д …
Add to Menu PRO 6.3.0
Add to Menu добавляет быструю ссылку в админку Joomla, чтобы быстро добавить в пункт меню редактируемые статьи или страницы.
Например, вам нужно создать новую статью, добавить ссылку на эту статью в свое меню, …
Cache Cleaner PRO 7.2.2
Иногда кэш сайта слишком быстро набирает «вес», с чем все веб-мастера активно борются. Одним из самых удобных способов борьбы будет использование модуля Cache Cleaner. Это расширение для CMS Joomla позволяет очистить …
Image Show GK4 1.6.8
FREE
С помощью этого модуля вы сможете создать у себя на сайте отличные слайд-шоу, включающие в себя заданные вами элементы: изображения, либо фрагменты статей. Система управления слайдами интегрирована непосредственно в м …
Offlajn Layer Slider 6.6.061
LayerSlider — это высококачественный многоцелевой слайдер для создания галерей изображений, слайдеров содержимого и улетных слайд-шоу с эффектами, которые нужно увидеть. Используются передовые технологии. Имеет более …
Responsive Grid for Κ2 3.3.9
Для ресурсов на Joomla 2.5-3.x с установленным компонентом К2 не лишним будет расширение Responsive Grid, позволяющее формировать сетку с материалами, в которой будет присутствовать красивая анимация, фильтрация и сор …
Responsive Scroller for K2 4.0.4
Расширение Responsive Scroller станет хорошим инструментом для отображения материалов, если у вас есть сайт на Джумла 2.5-3.х с установленным компонентом K2 v.2.6 +. Это интерактивный скроллер, позволяющий прокр …
Responsive Grid for Articles 3.4.9 & 4.0.8
Адаптивный модуль последних материалов для Joomla с Ajax фильтрацией по категориям. Отлично работает как во всех современных браузерах и гаджетах, так и в старых не поддерживаемых разработках (например IE9 и ниже). Ра …
Responsive Scroller for Articles 4.0.2 & 4.1.3
Для сайтов на Джумла 3.х есть расширение Responsive Scroller for Articles, позволяющее выполнять прокрутку материалов в ленте. В нем вы найдете 6 предустановленных тем и легкую настройку параметров. Показать или спрят …
Shack Forms 4.0.35
Одно из самых популярных расширений в JED каталоге, работающее на AJAX и предоставляющее вашим посетителям красивую форму обратной связи. Неограниченное количество добавляемых полей, возможность загрузки файлов, 5 вар …
Источник
Если вы работаете с Joomla, то, скорее всего, знаете, что в этой CMS существуют несколько видов расширений. Это компоненты, модули, шаблоны и плагины. С первыми тремя типами расширений всё понятно. А вот для чего нужны плагины многие, я уверен, не очень хорошо понимают.
В этой большой статье я подробно простым языком расскажу о том, что такое плагины Joomla, для чего они нужны, какие типы плагинов бывают, как они работают, как создать собственный плагин, когда и зачем это необходимо делать.
В статье вы также найдете заготовки для плагинов и полезную справочную информацию, необходимую для создания собственного плагина.
Что такое плагины Joomla и зачем они нужны?
Для начала давайте разберемся с тем, что же вообще такое плагин Joomla. Вообще, если отбросить шаблоны, в Joomla есть три типа расширений, которые увеличивают функциональность сайта. Это:
- Компоненты
- Модули
- Плагины
Компоненты Joomla позволяют создать приложения с широким функционалом. Если вам нужны уникальные типы контента, отдельные страницы сайта с контентом этих типов, уникальные URL для таких страниц – ваш выбор компонент. Примеры компонентов: форум, интернет-магазин, социальная сеть, тикет-система, система бронирования и т.п.
Модули Joomla позволяют создать отдельный блок, который будет показываться на тех или иных страницах сайта. Если вам нужно показать пользователям баннер, форму авторизации, навигатор сайта, меню, то нужно использовать модуль.
Плагины Joomla, на первый взгляд, кажутся каким-то обособленным и непонятным типом расширения. Это происходит в первую очередь потому, что плагин нельзя увидеть на сайте также просто как модуль. Плагин иногда вообще не имеет визуальной проекции. Но у плагинов тоже есть свой тайный смысл. Раз разработчики Joomla выделили плагины в отдельный тип расширений, значит, это было сделано не просто так.
Чтобы понять, что же такое плагины Joomla и для чего они необходимы, нужно разобраться еще с одним термином, который имеет непосредственное отношение к плагинам. Это хак ядра Joomla.
Хак ядра Joomla (или просто «Хак») – внесение изменений в код системных файлов Joomla, которые могут быть стерты при обновлении CMS.
Из определения должно быть понятно, чем плохо вносить хаки, но всё-таки поясню.
В Joomla есть файлы ядра (первоначальные) – те, которые поставляются в архиве с CMS, и файлы установленных расширений (добавленные) – те, которые появляются после установки администратором расширений или других манипуляций с сайтом. Разделение файлов на такие группы не обязательно связано с их назначением. Например, файлы модуля Joomla могут являться как файлами ядра (когда модуль поставляется вместе с Joomla), так и файлами установленных расширений (когда вы сами установили этот модуль в Joomla). Это же относится и к другим типам расширений.
Теперь представьте, что вы внесли некоторое изменение в файл ядра (создали хак). В случае обновления Joomla (которые, кстати, выходят довольно часто) существует вероятность, что разработчики в обновленной версии внесли изменения в тот же самый файл, в который внесли их и вы. Что произойдет в этом случае? Файл с вашими изменениями (с хаком) просто будет перезаписан файлом из обновленной версии. При этом все изменения, которые вы вносили, будут удалены. Не очень приятно, не правда ли?
Интересно еще и другое. Файлы установленных расширений тоже являются системными файлами ядра, но только уже не Joomla, а данных расширений. Например, в случае, если вы установили модуль, внесли в его файлы изменения, а затем вышло обновление модуля и вы обновили его на сайте, с вашими изменениями произойдет ровно то же самое, что и в случае хака Joomla – они будут стерты при перезаписи.
Вы спросите: «Как же тогда вообще вносить изменения в файлы, если это необходимо?». Одним из решений описанной выше проблемы, являются, так называемые, переопределения макетов и альтернативные макеты. Они работают хорошо, но, к сожалению, как понятно из названия, переопределяют только макеты отображения, но не функционал ядра.
Другим решением как раз и являются плагины.
Плагин позволяет вставить в некотором месте выполнения программы (php-скрипта) свой собственный код, который будет изменять или расширять функционал этой программы.
Интересно, что при использовании плагина, нам не нужно будет вносить изменения в файлы ядра. Вы спросите: «Как такое возможно?». Это будет важный и правильный вопрос.
Я предлагаю представлять плагин, как флешку для компьютера. Joomla же, в данном случае, это сам компьютер. Также плагином может быть любое другое устройство, которое вы вставляете в разъем USB. Что при этом происходит? С помощью дополнительного устройства вы расширяете функционал компьютера, не внося в его конструкцию никаких изменений. Вы вставили флешку – появился дополнительный диск, вы вставили колонки – компьютер теперь может воспроизводить звук. Компьютер может работать как с этим устройством, так и без него. Наличие этого устройства необязательно. Сам компьютер от него никак не изменяется.
Плагины в Joomla работают аналогичным образом – они расширяют функционал, не обязательно, видимый, путем включения своего кода в код основной системы. А роль разъема USB, который используется для соединения компьютера и флешки, в Joomla выполняют так называемые триггеры (triggered events).
Триггеры для плагинов Joomla
Триггер в Joomla, представляет собой «разъем», в который может подключиться плагин и выполнить свой код. В коде Joomla это выглядит примерно следующим образом:
Код Joomla;
Код Joomla;
Выполнить код плагинов определенного типа, если такие существуют в CMS (это триггер);
Код Joomla;
Код Joomla;
Т.е. в определенном месте выполнения кода Joomla в файлах ядра добавлена строчка, которая ищет все плагины определенного типа, выполняет их последовательно, один за другим. Когда код всех плагинов данного типа будет выполнен, Joomla продолжит выполнять свой основной код.
Таким образом, с помощью плагинов и триггеров, мы получаем в Joomla аналог разъема USB. Разница лишь в том, что в Joomla много мест, где вставлены триггеры (строчки вызова выполнения плагинов). Разработчики Joomla не знают, где именно вам потребуется вызвать код плагина, но они стараются предугадать места, где вам это может потребоваться с наибольшей вероятностью.
В Joomla существует известный набор триггеров, расположенных в разных частях CMS. Все триггеры разбиты на группы. Каждая такая группа характеризует один из типов плагинов.
Типы плагинов Joomla и существующие наборы их триггеров
Каждый плагин Joomla относится к определенному типу. Тип плагина указывает на место его исполнения в CMS и примерный функционал. Кроме того, каждый тип плагинов имеет предопределенный набор триггеров.
Рассмотрим типы плагинов Joomla, а также триггеры, которые они в себя включают. Место вызова триггера обычно понятно из его названия не требует дополнительных пояснений.
Тип «Authentication»
Плагины, которые выполняются при авторизации пользователя.
Триггеры:
- onUserAuthenticate
Тип «Captcha»
Плагины, которые выполняются в процессе работы с капчами.
Триггеры:
- onInit
- onDisplay
- onCheckAnswer
Тип «Content»
Плагины, которые выполняются в процессе работы с контентом (создания, изменения, сохранения, удаления, отображения и др.).
Триггеры:
- onContentPrepare
- onContentAfterTitle
- onContentBeforeDisplay
- onContentAfterDisplay
- onContentBeforeSave
- onContentAfterSave
- onContentPrepareForm
- onContentPrepareData
- onContentBeforeDelete
- onContentAfterDelete
- onContentChangeState
- onContentSearch
- onContentSearchAreas
Тип «Editors»
Плагины, которые выполняются в процессе работы с текстовыми редакторами Joomla.
Триггеры:
- onInit
- onSave
- onSetContent
- onDisplay
- onGetContent
- onGetInsertMethod
Тип «Editors-XTD»
Плагины, которые выполняются в процессе работы с текстовыми редакторами Joomla (добавление дополнительных кнопок под редактором).
Триггеры:
- onDisplay
Тип «Extensions»
Плагины, которые выполняются в процессе работы с расширениями Joomla (установка, обновление, удаление и др.).
Триггеры:
- onExtensionAfterInstall
- onExtensionAfterUninstall
- onExtensionAfterUpdate
- onExtensionBeforeSave
- onExtensionAfterSave
Тип «Finder»
Плагины, которые выполняются в процессе работы умного поиска. Чаще всего сюда попадают плагины, индексирующие различный контент для умного поиска.
Триггеры:
- onFinderCategoryChangeState
- onFinderChangeState
- onFinderAfterDelete
- onFinderBeforeSave
- onFinderAfterSave
Тип «Quick Icons»
Плагины, которые выполняются в процессе создания иконок (модуль quickions) на главной странице админки.
Триггеры:
- onGetIcons
Тип «System»
Плагины, которые выполняются в ходе генерации любой страницы сайта.
Триггеры:
- onAfterInitialise
- onAfterRoute
- onAfterDispatch
- onAfterRender
- onBeforeRender
- onBeforeCompileHead
Тип «User»
Плагины, которые выполняются в процессе работы с пользователями (авторизация, регистрация, изменение информации о пользователе и др.).
Триггеры:
- onUserAuthorisation
- onUserAuthorisationFailure
- onUserBeforeSave
- onUserAfterSave
- onUserBeforeDelete
- onUserAfterDelete
- onUserLogin
- onUserLoginFailure
- onUserAfterLogin
- onUserLogout
- onUserBeforeSaveGroup
- onUserAfterSaveGroup
- onUserBeforeDeleteGroup
- onUserAfterDeleteGroup
Тип «Contact Component»
Плагины, которые выполняются в ходе работы с компонентом контактов.
Триггеры:
- onValidateContact
- onSubmitContact
Тип «Installer Component»
Плагины, которые выполняются в процессе работы инсталлера Joomla (установка и удаление расширений).
Триггеры:
- onInstallerBeforeInstallation
- onInstallerBeforeInstaller
- onInstallerAfterInstaller
Тип «Menu Component»
Плагины, которые выполняются в ходе работы с пунктами меню Joomla.
Триггеры:
- onAfterGetMenuTypeOptions
Тип «Module»
Плагины, которые выполняются в ходе работы с модулями.
Триггеры:
- onRenderModule
- onAfterRenderModule
- onPrepareModuleList
- onAfterModuleList
- onAfterCleanModuleList
Как можно заметить, триггеры покрывают значительную часть функционала Joomla. Если вам нужно внедрить в каком-то месте свой собственный код, то с высокой долей вероятности вы сможете подобрать подходящий триггер.
Параметры триггеров в Joomla
Согласитесь, триггеры были бы не слишком полезны, если бы просто вызывали плагин, без какого-либо взаимодействия с остальным кодом. Например, какой смысл в триггере onUserLogin, вызывающемся после авторизации пользователя, если мы не знаем, какой именно пользователь был авторизован?
Именно поэтому каждый триггер передает в плагин набор наиболее важных параметров о событиях, с которыми он связан. Так, например, триггер onUserLogin, передает в плагин данные о пользователе, который только что прошел авторизацию, а также параметры этой авторизации.
Подробное описание каждого из триггеров, а также список всех параметров, которые триггер передает в плагин, вы можете найти в документации по Joomla на этой странице.
Создание собственных триггеров
У вас может возникнуть вопрос: «Что делать, если ни один из существующих триггеров мне не подходит»? Бывают задачи, когда ваш код должен быть выполнен в таком месте, где триггеров нет. В этом случае вам придется сделать хак. Но это может быть либо большой хак, изменяющий блоки кода в разных местах файла, либо маленький, добавляющий ваш собственный триггер в нужное место.
Да, в Joomla вы можете создавать и собственные триггеры, а затем плагины уникальных типов для них. Это может быть удобно с точки зрения минимизации изменений в хаке, либо тогда, когда вы пишите собственное расширение, и хотите дать сторонним разработчикам возможность делать для него плагины.
Создать собственный триггер в Joomla очень просто. Достаточно добавить в нужном вам месте следующий код:
JPluginHelper::importPlugin(‘<Тип_плагина>’);
$dispatcher = JDispatcher::getInstance();
$results = $dispatcher->trigger( ‘<Название_триггера>’,<Массив_параметров_триггера> );
Даже если вы сделали хак, восстановить три строчки кода гораздо проще, чем целые блоки.
Создание собственного плагина Joomla
Создать собственный плагин Joomla проще, чем может показаться на первый взгляд. Помните, что плагин, это не сложное расширение, а всего лишь кусок кода, который выполнится в нужном месте (хотя иногда встречаются действительно сложные плагины). Вот всё, что вам нужно, чтобы создать ваш собственный плагин: взять заголовку, изменить название, автора и прочую мета-информацию, и добавить в заготовку код, который должен выполняться при вызове тем или иным триггером.
Если вы хоть немного разбираетесь в PHP, и хотите написать собственный плагин, ознакомьтесь с этими материалами:
- https://docs.joomla.org/Jx:Creating_a_Plugin_for_Joomla – инструкция по созданию собственного плагина на сайте документации Joomla (англ.)
- https://github.com/joomla/joomla-cms-examples/tree/master/plugins – заголовки плагинов различных типов. Они немного устаревшие, но большинство работает в Joomla 3
Примеры использования плагинов Joomla
Напоследок, хочу привести несколько примеров того, что можно делать с помощью собственных плагинов.
- Отправка письма пользователю после его авторизации, аналогично тому, как это сделано в ВК. Что-то вроде: «В ваш аккаунт выполнен вход…»
- Автоматический репост анонса статьи в социальные сети после ее создания и сохранения в админке.
- Автоматический сбор информации по всем запросам, которые вводили пользователи в форме поиска на сайте.
- LazyLoad – «ленивая» подгрузка изображений в статье.
- Добавление кнопок с уникальным функционалом в текстовом редакторе статьи.
- Подмена мета-данных страниц сайта, избавление от дублей, перенаправление по определенным условиям.
- Защита форм авторизации от подбора пароля
Всё это и многое другое можно реализовать с помощью плагинов Joomla, не используя хаки и не боясь, что изменения будут стерты при обновлении CMS.
На этом всё. Надеюсь, тема плагинов в Joomla стала для вас хотя бы чуточку понятнее. Если вам нужен какой-то нестандартный плагин, но вы не уверены, что сможете создать его самостоятельно, то всегда можете заказать у меня разработку.
———
Если вы серьезно занимаетесь IT-технологиями и