Как стать автором
Поиск
Написать публикацию
Обновить
3.77

Joomla *

Cистема управления содержимым (CMS)

Сначала показывать
Порог рейтинга
Уровень сложности

Joomla исполнилось 20 лет. Поздравления с юбилеем от сообщества

Время на прочтение7 мин
Количество просмотров1.3K

17 августа 2025 года Joomla исполнилось 20 лет! Для мира IT-технологий это внушительный возраст. CMS проделала большой путь, выросла и стала совершеннолетней. К юбилею возникла идея сделать серию интервью (и небольшой флешмоб) с видными участниками русскоязычного сообщества Joomla: теми, кто когда-то был активным и сделал большой вклад в развитие Joomla и теми, кто делает это сейчас.

Joomla 20 лет!

Новости

Joomla-дайджест. 2-й квартал 2025 года

Время на прочтение18 мин
Количество просмотров788

С небольшим запозданием, но всё же читайте все главные новости из мира Joomla с апреля по июнь 2025 года в одной статье. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla. Прошлый выпуск вы можете прочитать здесь.

Читать далее

Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?

Время на прочтение2 мин
Количество просмотров737

Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.

Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.

Однако, параметр всё же остался в ядре Joomla. Зачем он нужен?

Читать далее

Использование «фабрики» в своих расширениях для Joomla

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров73

Паттерн «фабрика» используется в Joomla 5 для создания различных объектов. Давайте разберёмся как использовать фабрику в своих расширениях.

Читать далее

Joomla 6 в разработке. Чего ожидать?

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров1.9K

Следующее поколение Joomla уже в работе! С каждой новой версией наша любимая CMS становится лучше и лучше. Наступило время для беседы с релиз-менеджерами Joomla 6: Гарри Баркли и Филом Уолтоном.

Читать далее

Учимся использовать Dependency Injection Containers (DI контейнеры) в Joomla 5

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров563

В Joomla с версии 4.x используются Dependency Injection Containers (DI контейнеры). В этой статье я на простом примере попробую показать как их использовать в своих расширениях.

Читать далее

Логирование действий пользователя в Joomla. Создание плагина Actionlog

Время на прочтение16 мин
Количество просмотров560

На вашем сайте, внутреннем портале, в интернет-магазине кто-то что-то сделал, а потом всё сломалось: сайт открывается криво (или не открывается вообще?), перестали работать фоновые задачи в планировщике, установились неправильные скидки всем пользователям на все товары... Предположим, что с безопасностью у вас всё хорошо: Joomla свежая, актуальная, расширения - тоже. Да и в логах сервера и логах Joomla тоже чисто... Тогда остаётся ещё один источник информации - Лог действий пользователей Joomla. Основная его задача - помочь быстро найти кому настучать по рогам причину и устранить её.

Всё, что связано с действиями в админке - может логироваться: от обновления системы и компонентов, изменения настроек до редактирования и сохранения конкретных элементов (статьи, товары, категории и т.д.) и загрузки файлов в медиа менеджере. Лично мне нередко этот функционал помогал найти тех контент-менеджеров, кто дублирует названия товаров, создавая дубли и тем самым негативно влияя на SEO. Или же вдруг обнаруживается недозаполненная, но опубликованная карточка товара, которой не должно было быть, но она появилась. И ладно если б это был единичный случай...

Читать далее

Joomla 4 Rest API: создаем свои JSON-эндпоинты с нуля

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров784

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

Читать далее

Joomla-дайджест. 1-й квартал 2025 года

Время на прочтение35 мин
Количество просмотров950

После долгого перерыва читайте все главные новости из мира Joomla с момента выхода Joomla 5.2.0 (15 октября 2024 года) в одной статье. Но для удобства в названии ограничимся первым кварталом 2025 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla.

Читать далее

Обзор MVCFactory в Joomla 5

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1K

Рассмотрим процесс создания объектов моделей, представлений и контроллеров с помощью класса MVC фабрика в Joomla 5.

Читать далее

Добавляем свои переменные в шаблоны писем Joomla 5+

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров362

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

Читать далее

Триггеры ядра Joomla при CRUD-операциях

Время на прочтение6 мин
Количество просмотров409

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

Как найти нужное событие для своего плагина в Joomla подскажет эта статья.

Читать далее

Как добавить свой повторяемый элемент интерфейса в класс HTMLHelper Joomla 4+

Время на прочтение5 мин
Количество просмотров577

В API Joomla есть полезный инструмент - класс HTMLHelper. Он выводит HTML-элементы интерфейса с нужными параметрами: модальные окна, аккордеоны, табы, изображения и т.д. Для рендера мы передаём все нужные данные: заголовки окон, содержимое табов, атрибуты изображений.

Плюс использования HTMLHelper в Joomla - это его универсальность, оторванность от контекста, возможность использования логики при рендере в зависимости от вводных данных, его можно использовать везде. Но что если нам нужно создать свой собственный класс?..

Читать далее

Ближайшие события

Пишем класс для «Result»-события Joomla

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров472

Это продолжение статьи «Каждому событию Joomla — свой класс». В нём я расскажу как создать класс события, которое должно возвращать какой-либо результат.

Читать далее

Как добавить свой таб или поле в интерфейс Joomla с помощью плагина. «Joomla way»

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров603

Задачи могут быть самые разные: поле аватара для пользователя в com_users, дополнительный таб в форму редактирования материала, поле связи одной сущности с другой и т.д. Сразу оговорюсь, что бывает и "non-Joomla way" - то есть подходы, которые не предполагаются ядром CMS, но при этом и явно не запрещаются. Сейчас речь пойдёт о традиционном.

Читать далее

Каждому событию Joomla — свой класс

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров447

В посте Заменяем устаревший метод CMSApplicationInterface::triggerEvent в Joomla 5.1.4 я вскольз упоминал собственные классы событий. Теперь я хочу рассказать о них подробнее.

Читать далее

Как событие Joomla назовёшь, так оно и триггернётся?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров633

— Нет! Вы, конечно, можете называть события как угодно и вызывать откуда угодно, но правильно составленные имена событий не будут требовать заучивания, они как будто сами будут печататься на экране.

Как же следует именовать события в своих компонентах? — Так, чтобы они читались как полноценные предложения, а для этого надо разобраться с их структурой.

Читать далее

Подключение сторонних PHP библиотек в Joomla

Время на прочтение4 мин
Количество просмотров1.2K

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

Читать далее

Как запустить email- и SMS уведомления на Joomla с использованием API

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1.4K

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

Читать далее

Как починить пагинацию в своих расширениях для Joomla 5.1.3+. Backwards breaking changes

Время на прочтение2 мин
Количество просмотров481

Это информация о возможном сломе обратной совместимости в классе 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.

Читать далее