Перевод материала из официальной документации Joomla по разработке кастомного Rest API в Joomla 4. Вы узнаете как зарегистрировать эндпоинт с помощью плагина группы webservices
и настроить API-часть компонента для обработки запросов и отправки JSON-ответов.

Joomla *
Cистема управления содержимым (CMS)
Новости
Joomla-дайджест. 1-й квартал 2025 года

После долгого перерыва читайте все главные новости из мира Joomla с момента выхода Joomla 5.2.0 (15 октября 2024 года) в одной статье. Но для удобства в названии ограничимся первым кварталом 2025 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla.
Обзор MVCFactory в Joomla 5
Рассмотрим процесс создания объектов моделей, представлений и контроллеров с помощью класса MVC фабрика в Joomla 5.
Добавляем свои переменные в шаблоны писем Joomla 5+

Расширяем стандартный функционал шаблонов писем CMS Joomla. Добавляем к переменным (шорт-кодам) шаблонов писем поля пользователей.
Истории
Триггеры ядра Joomla при CRUD-операциях

CRUD - аббревиатура основных операций с данными: создание (Create), чтение (Read), изменение (Update) и удаление (Delete). Практически все действия на сайте как в админке, так и пользовательской части можно описать этими действиями. Разработчикам при создании функционала часто в какие-то моменты этих действий нужно проделать некие действия с участием данных или без них.
Как найти нужное событие для своего плагина в Joomla подскажет эта статья.
Как добавить свой повторяемый элемент интерфейса в класс HTMLHelper Joomla 4+

В API Joomla есть полезный инструмент - класс HTMLHelper. Он выводит HTML-элементы интерфейса с нужными параметрами: модальные окна, аккордеоны, табы, изображения и т.д. Для рендера мы передаём все нужные данные: заголовки окон, содержимое табов, атрибуты изображений.
Плюс использования HTMLHelper в Joomla - это его универсальность, оторванность от контекста, возможность использования логики при рендере в зависимости от вводных данных, его можно использовать везде. Но что если нам нужно создать свой собственный класс?..
Пишем класс для «Result»-события Joomla
Это продолжение статьи «Каждому событию Joomla — свой класс». В нём я расскажу как создать класс события, которое должно возвращать какой-либо результат.
Как добавить свой таб или поле в интерфейс Joomla с помощью плагина. «Joomla way»

Задачи могут быть самые разные: поле аватара для пользователя в com_users
, дополнительный таб в форму редактирования материала, поле связи одной сущности с другой и т.д. Сразу оговорюсь, что бывает и "non-Joomla way" - то есть подходы, которые не предполагаются ядром CMS, но при этом и явно не запрещаются. Сейчас речь пойдёт о традиционном.
Каждому событию Joomla — свой класс
В посте Заменяем устаревший метод CMSApplicationInterface::triggerEvent в Joomla 5.1.4 я вскольз упоминал собственные классы событий. Теперь я хочу рассказать о них подробнее.
Как событие Joomla назовёшь, так оно и триггернётся?
— Нет! Вы, конечно, можете называть события как угодно и вызывать откуда угодно, но правильно составленные имена событий не будут требовать заучивания, они как будто сами будут печататься на экране.
Как же следует именовать события в своих компонентах? — Так, чтобы они читались как полноценные предложения, а для этого надо разобраться с их структурой.
Подключение сторонних PHP библиотек в Joomla

PHP библиотеки удобны тем, что к ним можно обращаться из любого места Приложения: из плагина, модели компонента, модуля и т.д. В случае, если подобную задачу кто-то уже решал и оформил в виде библиотеки (и даже обновляет её) - имеет смысл подключить в свою Joomla эту библиотеку. Например, вам для разработки способа оплаты интернет-магазина нужна официальная библиотека платёжного агрегатора. Или вас устраивает официальный PHP SDK какой-нибудь CRM.
Как запустить email- и SMS уведомления на Joomla с использованием API

В цифровом маркетинге коммуникация с клиентами играет ключевую роль в успехе бизнеса. Хотя email-уведомления остаются мощным инструментом, SMS приобретают все большее значение благодаря оперативности и высокому уровню прочтения. В этом руководстве сосредоточимся на интеграции email- и SMS-уведомлений в Joomla с использованием API Exolve и ряда других средств.
Как починить пагинацию в своих расширениях для Joomla 5.1.3+. Backwards breaking changes

Это информация о возможном сломе обратной совместимости в классе Pagination
Joomla 5.1.3+. Релиз 5.1.3 был связан с закрытием уязвимостей (см. Joomla 5.1.3 and 4.4.7 Security and Bug Fix Release), в нём был изменён подход к генерации ссылок для страниц пагинации. Из‑за этого могут перестать работать ссылки страниц пагинации в сторонних компонентах Joomla. В компонентах ядра ошибки работы пагинации были исправлены в релизе 5.1.4.
Ближайшие события








Первый плагин/модуль для админки joomla 4, свежие впечатления, субъективное мнение
После плагин на вордпресс решили написать такой же плагин для joomla, вроде как вторая по популярности система.
Анатомия умного поиска в Joomla 5. Создание плагина

Исторически в ядре Joomla существовало 2 компонента поиска: просто "поиск" и "умный поиск" (smart search). Простой поиск был в составе ещё Joomla 1.x и с тех пор существенно не менялся, а начиная с Joomla 4 был исключен из состава ядра. Начиная с Joomla 2.5 в число штатных был включен компонент Умного поиска (smart search) - com_finder
, главным отличием которого от простого поиска стала индексация контента. Как создать плагин для умного поиска Joomla расскажет эта статья.
Улучшение производительности Joomla 4. Часть I

Joomla 4 существенно улучшена по сравнению с Joomla 3. Прямо из коробки вы получаете очень быструю CMS с встроенной поддержкой структурированных данных (которые, ранее назывались «микроданными»), а также несколько вариантов кэширования, подходящих для любой сферы применения, от легковесных персональных сайтов до массивных, нагруженных порталов.
Cтарые версии, Joomla имели неоправданно плохую репутацию медленной и плохой для SEO CMS. Но теперь это далеко от истины. Joomla 4 без каких либо сторонних расширений превосходит своих конкурентов, даже если они используют специально созданные сторонние расширения.
В этой серии статей мы обсудим как оптимизировать Joomla 4 чтобы ещё больше улучшить её производительность и как избежать всех ловушек, когда разрабатываете сайт для себя или клиента. Наша цель — сайт, привлекательный как для поисковых систем, так и для реальных посетителей.
Как исправить ошибку 500 в Joomla

Как справиться с ошибкой 500 в Joomla. 12 простых шагов.
Это моя первая попытка перевода и публикации статьи на профессиональную тему на этом ресурсе. Но я давно работаю с Joomla, и всеми описанными далее шагами не раз пользовался на личном опыте.
Программное создание материалов с пользовательскими полями в Joomla 5+

С помощью материалов Joomla на сайте можно сделать не только контентный сайт-статейник или новостник, но каталог, простую доску объявлений и т.д. Начиная примерно года с 2016 очень много трафика из поисковиков уходит в соц.сети, стриминговые платформы, мессенджеры. Много контента стало создаваться напрямую в интерфейсе, например, Telegram. И в связи с этим встаёт вопрос об автоматическом наполнении сайта контентом из соц.сетей и мессенджеров. Для этого как раз и нужно знать как создавать материалы в Joomla 4 / Joomla 5 и старше программным способом.
Вышли релизы безопасности Joomla 5.1.2 и Joomla 4.4.6

Команда разработки Joomla представила очередные релизы веток Joomla 5.1.2 и 4.4.6. Релизы включают в себя устранение уязвимостей, а также исправление ошибок, найденных с момента предыдущих версий. Итак, давайте изучим, что нового в этих версиях.
Стилизуем модуль материалов для Joomla в стиле новостных порталов

Даниэль Дюбуа, известный энтузиаст, поделился с сообществом переопределением модуля материалов Joomla, при помощи которого вы сможете отображать ленту последних материалов в стиле новостных лент.