разработка
-
Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla
Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection
и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩💻 Подпишись на @joomlafeed.#joomla #разработка -
Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много
👩💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей
больнойфантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по путиlibraries/src/Form/FormField.php
, а так же вlibraries/src/Form/Fields
. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true"/>
heading
- указывать уровень заголовка.close
- позволяет закрыть это примечание. В классе поляlibraries/src/Form/Field/NoteField.php
описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем отNoteField
. Это значит, что у нас в руках будет весь инструментарий стандартного поляNote
+ то, что мы сами добавим. В XML-манифест добавляем наше поле<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-type
- имя файла и класса,-addfieldprefix
- указываем namespace к нашему классу, может быть любой нам нужный-name
- нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файлаmodules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php
.А в классе поля будет написано следующее:<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{ protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка -
WT JShopping Add order info to checkout finish плагин для Joomla
WT JShopping Add order info to checkout finish плагин для Joomla.Плагин отображения информации о заказе (номер заказа, данные о доставке и т.д.) на странице Спасибо за заказ интернет-магазина JoomShopping.В плагине 3 макета по умолчанию:- default - оформите информацию о заказе с помощью CSS- bootstrap5-1 - макет по умолчанию с использованием Bootstrap CSS- uikit - макет по умолчанию с использованием UIkitВы можете создавать собственные макеты вывода в папке
plugins/jshoppingorder/wtjshoppingaddorderinfotocheckoutfinish/tmpl
.Страница расширенияGitHub расширения👩💻 Этот плагин - творческий дебют участника нашего сообщества и теперь разработчика Сергея Сергевнина (@gresserg). С чем его поздравляем и желаем успехов на этом поприще!#joomla #разработка #JoomShopping -
Подборка материалов по Joomla Web Asset ManagerПортал документации Joomla - Основные концепции:...
Подборка материалов по Joomla Web Asset ManagerПортал документации Joomla - Основные концепции: Web Asset ManagerВидео с канала Robbie Jackson
Книга Николаса Дионисопулоса Joomla Extensions Development - раздел Web Assets ManagerKevin's Guides - Using Joomla’s Web Asset Manager (joomla.asset.json)Статья Дмитрия Рекуна Как правильно подключать JavaScript и CSS в Joomla 4Статья Сергея Толкачева Использование WebAssetsManager Joomla 4 (Joomla 5) и добавление собственных пресетов с помощью плагина@joomlafeed#joomla #php #разработка -
Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...
Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev
-
Reset Media Version v.2.0.0
Reset Media Version v.2.0.0. Плагин для Joomla!Плагин выводит кнопку, для быстрого обновления версии медиафайлов Joomla.Простой способ обновить кэшированные CSS/JS файлы в Joomla.При обновлении стилей и скриптов на сайте браузеры часто загружают старые версии из кэша, даже если файлы на сервере изменились. Это приводит к несоответствию отображения сайта и путанице у пользователей или клиентов.👩💻 Решение проблемыЭтот плагин добавляет кнопку на главную панели управления Joomla (в группу Quick Icon), которая позволяет администратору вручную сбросить системную версию медиа-файлов, чтобы все CSS и JS ресурсы начали подключаться с новым параметром версии (
?ver=...
). Это принудительно обновляет кэш браузеров и CDN.Системные требования- Joomla >= 4.2 / 5.x- PHP >= 7.4Разработчик - участник нашего сообщества Артём Васильев (@kernusr)Скачать с GitHub#joomla #расширения #разработка -
Учимся использовать Dependency Injection Containers (DI контейнеры) в Joomla 5
Учимся использовать Dependency Injection Containers (DI контейнеры) в Joomla 5.На Хабре вышла статья, рассказывающая как использовать dependency injection контейнер (DI-контейнер) в Joomla, а так же затрагивающая работу с трейтами. Она полезна всем разработчикам, работающим с Joomla. Автор статьи - участник нашего сообщества Виталий Некрасов (@vitalik_a).Читать статью на Хабре#joomla #разработка #php
-
Логирование действий пользователя в Joomla. Создание плагина Actionlog
Логирование действий пользователя в Joomla. Создание плагина Actionlog.На вашем сайте, внутреннем портале, в интернет-магазине кто-то что-то сделал, а потом всё сломалось: сайт открывается криво (или не открывается вообще?), перестали работать фоновые задачи в планировщике, установились неправильные скидки всем пользователям на все товары... Предположим, что с безопасностью у вас всё хорошо: Joomla свежая, актуальная, расширения - тоже. Да и в логах сервера и логах Joomla тоже чисто... Тогда остаётся ещё один источник информации - Лог действий пользователей Joomla. Основная его задача - помочь быстро найти
кому настучать по рогампричину и устранить её.Всё, что связано с действиями в админке - может логироваться: от обновления системы и компонентов, изменения настроек до редактирования и сохранения конкретных элементов (статьи, товары, категории и т.д.) и загрузки файлов через медиа менеджер. Нередко этот функционал помогает найти тех контент-менеджеров, кто дублирует названия товаров, создавая дубли и тем самым негативно влияя на SEO. Или же вдруг обнаруживается недозаполненная, но опубликованная карточка товара, которой не должно было быть, но она появилась. И ладно если б это был единичный случай...Читать статью на Хабре#joomla #разработка #php -
Управление очередностью плагинов в Joomla 5 с помощью приоритетов обработки событийДля...
Управление очередностью плагинов в Joomla 5 с помощью приоритетов обработки событийДля разработчиков Joomla предоставляет 7 уровней приоритета выполнения плагинов. По умолчанию большинство плагинов запускаются с приоритетом NORMAL. Если вы как разработчик хотите дать возможность своим пользователям устанавливать порядок выполнения плагинов не только с помощью перетаскивания их мышкой в админке в рамках одной группы, но и с помощью параметра, то вам окажется полезной эта заметка.Автор - участник нашего сообщества Виталий Некрасов (@vitalik_a).Читать на Joomlaportal#joomla #разработка #php 👩💻 Если у вас есть интересные и полезные материалы о Joomla - присылайте админам сообщества. Разместим, тегнем, дадим ссылку.
-
Рендер пользовательского поля внутри другого пользовательского поля. Joomla 5.3
Писал ранее о том, как внутри одного пользовательского поля рендерить другое пользовательское поле. Применил для этого возможность Joomla обращаться к методам плагинов напрямую. Процитирую строчку кода из предыдущего поста:
<?php $joomlaFieldContentPlugn->onContentPrepare('com_content.article', $fakeItem, $app->getParams());
Joomla постепенно переходит от простого указания аргументов для триггеров плагинов к собственным классам событий. Это позволяет не запоминать порядок передачи аргументов класса и использовать человекопонятные методы
$event->getContext()
,$event->getItem()
и т.д. А то в одном месте в Joomla было$article
, в другом -$item
, в третьем ещё как-то... Порядку больше становится.Сегодня обновил сайт клиентов до Joomla 5.3. В ней обновили контент-плагин fields и мой финт ушами с вызовом метода плагина отвалился потому, что я передавал в нём 3 аргумента, вместо одного. И для события
onContentPrepare
это должен быть объект классаContentPrepareEvent
. Как меняется фрагмент кода из предыдущего поста:<?php // мы находимся в файле макета поля use Joomla\CMS\Event\Content\ContentPrepareEvent; use Joomla\CMS\Factory; $app = Factory::getApplication(); $fakeItem = new \stdClass(); // Получаем id текущего материала из объекта Input $fakeItem->id = $app->getInput()->getInt('id'); // - это шорт код вставки поля с id 29 - "ассортимент проекта" // к содержимому поля конкатенируем шорт-код для обработки $fakeItem->text = $field->value . ''; // Получаем объект плагина $joomlaFieldContentPlugn = $app->bootPLugin('fields', 'content'); // вызываем метод обработки напрямую // вместо 3-х аргументов теперь указываем один // это объект класса ContentPrepareEvent $joomlaFieldContentPlugn->onContentPrepare(new ContentPrepareEvent('onContentPrepare', [ 'context' => 'com_content.article', 'subject' => $fakeItem, 'params' => $app->getParams(), 'page' => 0, ])); // выводим оба поля echo $fakeItem->text;
-
Joomla 4 Rest API: создаем свои JSON-эндпоинты с нуляПо умолчанию Joomla отправляет ответы в...
Joomla 4 Rest API: создаем свои JSON-эндпоинты с нуляПо умолчанию Joomla отправляет ответы в формате JSON API, если запрос содержит
Accept: application/json
или специальный заголовок JSON API. Хотя ядро Joomla не поддерживает другие типы контента, система позволяет разработчикам добавлять дополнительные форматы для ответов.👩💻 Цели материала:- Получить JSON ответ от API Joomla;- Создать необходимый плагин группы webservices и API-часть компонента;- Использовать параметры модуля для моделирования данных, которые мы отправим в ответе API.👩💻 Что не является целью?Обучение созданию расширений. Данное руководство предполагает, что вы уже умеете создавать расширения для Joomla. Для работы API потребуются плагин и компонент, но компонент может быть минимальным — без модели (Model), с простой административной частью.Эта статья - перевод на русский язык раздела официальной документации Joomla для разработчиков Joomla! Programmers Documentation for Joomla 5.2. Статья пригодится разработчиком, работающим с реактивными frontend- фреймворками. Перевод выполнил участник нашего сообщества Виталий Некрасов (@vitalik_a).- Читать статью на Хабре- Оригинал в документацииПодпишись на @joomlafeed#webdev #разработка #joomla #api #restapi -
Joomla-дайджест. 1-й квартал 2025 года
Joomla-дайджест. 1-й квартал 2025 года.После долгого перерыва читайте все главные новости из мира Joomla с момента выхода Joomla 5.2.0 (15 октября 2024 года) в одной статье. Но для удобства в названии ограничимся первым кварталом 2025 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla.Читать дайджест на ХабреПодпишись на @joomlafeed#joomla #расширения #разработка #webdev
-
Обзор MVCFactory в Joomla 5Эта статья - перевод на русский язык раздела официальной документации...
Обзор MVCFactory в Joomla 5Эта статья - перевод на русский язык раздела официальной документации Joomla для разработчиков Joomla! Programmers Documentation for Joomla 5.2. Статья пригодится разработчиком, работающим с собственными компонентами.Перевод выполнил участник нашего сообщества Виталий Некрасов (@vitalik_a).Читать статью на ХабреОригинал: Joomla! Programmers Documentation for Joomla 5.2Подпишись на @joomlafeed#joomla #php #webdev #разработка
-
Использование своего класса MVC фабрики в компоненте Joomla 5У участника нашего сообщества Виталия...
Использование своего класса MVC фабрики в компоненте Joomla 5У участника нашего сообщества Виталия Некрасова (@vitalik_a) назрела необходимость переопределить метод
createModel()
в своём компоненте. Он захотел сделать это правильно, заменив класс MVC фабрики своим и поделился своим опытом в посте на Хабре.Подпишись на @joomlafeed#joomla #php #webdev #разработка -
Заменяем устаревший метод Joomla\CMS\Toolbar\Toolbar::getInstance() в Joomla 5.2.5
👩💻 Заменяем устаревший метод Joomla\CMS\Toolbar\Toolbar::getInstance() в Joomla 5.2.5.Этот метод нужен для работы с кнопками тулбара в Joomla. Как правильно получить объект текущего тулбара в Joomla 5.x расскажет пост на Хабре участника нашего сообщества Виталия Некрасова (@vitalik_a) Читать постПодпишись на @joomlafeed#joomla #php #webdev #разработка
-
SW JProjects v.2.4
SW JProjects v.2.4.0 - обновление менеджера цифровых проектов для Joomla разработчиковКомпонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений Joomla (шаблонов, модулей, плагинов и т.д.), что позволяет доносить обновления сразу всем своим клиентам. Возможность скачивания по лицензионным ключам.👩💻 v.2.4.0. Что нового?Плагин логирования действий пользователя. Добавлен плагин группы Лог действий, записывающий все основные действия пользователя в компоненте SW JProjects в лог действий пользователя.Мультиязычность.Улучшена работа компонента (панель администратора) на мультиязычных сайтах.Исправление ошибок и рефакторинг. Проведен текущий рефакторинг и исправление некоторых ошибок.Страница расширенияGitHub расширенияJoomla Extensions Directory@joomlafeed#расширения #joomla #php #разработка #development
-
Собственные макеты вывода для пользовательских полей Joomla
Мы привыкли использовать механизм переопределения макетов Joomla: скопируй нужный тебе файл макета в папку
html
шаблона и твори там что хочешь. -
Обновление веб-ассета Swiper.js для Joomla - WT JSwiper.js v.11.2
Обновление веб-ассета Swiper.js для Joomla - WT JSwiper.js v.11.2.5Обновление плагина веб-ассета для Joomla 4 / Joomla 5, добавляющего в Joomla WebAssets Registry ассет популярного скрипта карусели swiper.js. После установки и включения плагина swiper.js можно подключать следующим образом
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();$wa->useScript('swiper-bundle')->useStyle('swiper-bundle'); // Локальный файл$wa->usePreset('swiper-bundle-remote'); // Подключение из CDN
👩💻 Кроме обновления собственно ассета до версии 11.2.5 к нему добавился пока что частичный перевод документации Swiper на русский язык.- Скачать WT JSwiper.js для Joomla- Документация Swiper.js на русскомТакже будет полезно:- Статья на JPath.ru Как правильно подключать JavaScript и CSS в Joomla 4- Статья на Хабре: Использование WebAssetsManager Joomla 4 (Joomla 5) и добавление собственных пресетов с помощью плагина#joomla #расширения #разработка #плагин -
SW JProjects v.2.3
SW JProjects v.2.3.0 - обновление менеджера цифровых проектов для Joomla разработчиковКомпонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений Joomla (шаблонов, модулей, плагинов etc), что позволяет доносить обновления сразу всем своим клиентам. Возможность скачивания по лицензионным ключам.👩💻 v.2.3.0. Что нового?Поле домен для ключа. В форму создания ключа добавлено поле домен. Поле хранится в отдельной ячейке таблицы базы данных.Новый раздел: ключи пользователя.Во фронтенд добавлен новый раздел - ключи пользователя. Вы можете создать пункт меню для пользователя, где он сможет увидеть список всех своих лицензионных ключей. Раздел доступен только авторизованным пользователям сайта.Мелкие исправления и рефакторинг. Несколько мелких исправлений ошибок и улучшений.Страница расширенияGitHub расширенияJoomla Extensions Directory@joomlafeed#расширения #joomla #php #разработка #development
-
SW JProjects v.2.3.0 - обновление менеджера цифровых проектов для Joomla разработчиков
Компонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений Joomla (шаблонов, модулей, плагинов etc), что позволяет доносить обновления сразу всем своим клиентам. Возможность скачивания по лицензионным ключам.
-
Совет по Joomla: метод debug() для отладки лейаутов
В Joomla есть понятие layout. Это кусочек вёрстки, который можно многажды использовать в любом месте сайта: как в панели администратора, так и во фронтенде. Можно рассматривать лейауты как оторванные от контекста элементы дизайна. Находятся они в папке layouts в корне сайта. Также, в случае с модулями они могут находиться в папке
tmpl
модуля. А в случае с плагинами - вtmpl
плагина. -
Как обновить плагин Joomla 3 до архитектуры Joomla 4 / Joomla 5. Челлендж: сделай это в блокноте!
На видео показывается как обновить старый плагин, созданный ещё для Joomla 2.5 или Joomla 3 до Joomla 4 / Joomla 5. Своеобразным челленджем стала попытка сделать это, имея на руках только блокнот (Notepad++). В время записи видео несколько раз процесс шёл не по плану, но тем интереснее было решить задачу, показав процесс поиска решения. Особенно не имея под рукой IDE (профессиональная среда разработки).
-
E-mail шаблоны Joomla 5: добавление и просмотр своих переменных
В Joomla 5 появились настраиваемые email-шаблоны, как системные, так и сторонних компонентов. Их нельзя (пока что) добавить самостоятельно, они добавляются расширениями при установке. Но их можно отредактировать в Система - Шаблоны - Шаблоны писем. В настройках шаблонов писем (кнопка настроек компонента в верхнем правом углу) мы выбираем формат писем текст или HTML. Тогда становятся доступны настройки макетов шаблонов писем Joomla. Эти глобальные параметры можно переопределить в каждом конкретном email-шаблоне. Таким образом для каждого из email-шаблонов можно указать свою вёрстку и настройки логотипа.
-
Переменная RETURN или как вернуть пользователя в свой компонент
Нетривиальная задача. Необходимо было из условного компонента «А» отправить пользователя в форму редактирования контента компонента «Б». При этом сделать так, чтобы при нажатии кнопки «Закрыть» в компоненте «Б», пользователь возвращался в компонент «А». Всё вышеописанное происходило в в административной панели сайта.
-
Триггеры ядра Joomla при CRUD-операциях
CRUD - аббревиатура основных операций с данными: создание (Create), чтение (Read), изменение (Update) и удаление (Delete). Практически все действия на сайте как в админке, так и пользовательской части можно описать этими действиями. Разработчикам при создании функционала часто в какие-то моменты этих действий нужно проделать некие действия с участием данных или без них.
-
SW JProjects v.2.2.0 - обновление менеджера цифровых проектов для Joomla разработчиков
Компонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений Joomla (шаблонов, модулей, плагинов etc), что позволяет доносить обновления сразу всем своим клиентам. Возможность скачивания по лицензионным ключам.
-
Запуск выполнения задач планировщика задач Joomla из консоли (CLI)
Начиная с Joomla 4.1 появился функционал Планировщика задач, который позволяет в фоновом режиме выполнять самые различные задачи по сайту, требующие регулярности и расписания.
-
Как добавить свой повторяемый элемент интерфейса в класс HTMLHelper Joomla 4+
В API Joomla есть полезный инструмент - класс HTMLHelper. Он выводит HTML-элементы интерфейса с нужными параметрами: модальные окна, аккордеоны, табы, изображения и т.д. Для рендера мы передаём все нужные данные: заголовки окон, содержимое табов, атрибуты изображений.
-
Используем Promise в Ajax-запросах
Небольшой пост о том, как можно эффективно строить асинхронные цепочки, добавив всего один флаг к вызову
Joomla.request
, превратив его вPromise
. -
Пишем класс для «Result»-события Joomla
Статья на Хабре для разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a).
-
Заменяем устаревший метод Joomla\CMS\Table\Table::getInstance в Joomla 5.1.4.
Пост на Хабре для разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) о работе c классом Table (работа с таблицами базы данных) для Joomla 4 и Joomla 5. Полезен будет для тех, кто обновляет старое расширение.
-
Как добавить свой таб или поле в интерфейс Joomla с помощью плагина. «Joomla way».
Задачи могут быть самые разные: поле аватара для пользователя в
com_users
, дополнительный таб в форму редактирования материала, поле связи одной сущности с другой и т.д. Сразу оговорюсь, что бывает и "non-Joomla way" - то есть подходы, которые не предполагаются ядром CMS, но при этом и явно не запрещаются. Сейчас речь пойдёт о традиционном пути, который состоит из 2-х простых шагов. -
Каждому событию Joomla — свой класс
Посты на Хабре для разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) о работе над плагинами для Joomla 4 и Joomla 5.
-
Как событие Joomla назовёшь, так оно и триггернётся?
— Нет! Вы, конечно, можете называть события как угодно и вызывать откуда угодно, но правильно составленные имена событий не будут требовать заучивания, они как будто сами будут печататься на экране.
-
SW JProjects v.2.1.0 - обновление менеджера цифровых проектов для Joomla разработчиков
Компонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений Joomla (шаблонов, модулей, плагинов etc), что позволяет доносить обновления сразу всем своим клиентам. Возможность скачивания по лицензионным ключам.
-
Joomla разработчикам: как починить пагинацию в своих расширениях для Joomla 5.1.3+
Это информация о возможном сломе обратной совместимости в классе
Pagination
Joomla 5.1.3+. Релиз 5.1.3 был связан с закрытием уязвимостей. В нём был изменён подход к генерации ссылок для страниц пагинации. -
Анатомия умного поиска в Joomla 5. Создание плагина.
Исторически в ядре Joomla существовало 2 компонента поиска: просто "поиск" и "умный поиск" (smart search). Простой поиск был в составе ещё Joomla 1.x и с тех пор существенно не менялся. Для того, чтобы этот компонент (com_search) мог искать не только в компонентах ядра нужно было написать плагин, суть которого заключалась в основном в том, чтобы отдать компоненту нужный SQL запрос и сформировать из результатов запроса объект структуры, понятной для компонента. Сам поиск по сути был SQL-запросом в базу с
LIKE '%word%'
. Встречались также случаи, когда с помощью плагина к простому поиску использовали поисковый движок Sphinx в Joomla. Статья изначально опубликована на Хабре и сайте автора. -
Анатомия умного поиска в Joomla 5. Создание плагина.
Исторически в ядре Joomla существовало 2 компонента поиска: просто "поиск" и "умный поиск" (smart search). Простой поиск был в составе ещё Joomla 1.x и с тех пор существенно не менялся, а начиная с Joomla 4 был исключен из состава ядра. Начиная с Joomla 2.5 в число штатных был включен компонент Умного поиска (smart search) -
com_finder
, главным отличием которого от простого поиска стала индексация контента. Как создать плагин для умного поиска Joomla расскажет эта статья. -
Программное создание материалов с пользовательскими полями в Joomla 5+
С помощью материалов Joomla на сайте можно сделать не только контентный сайт-статейник или новостник, но каталог, простую доску объявлений и т.д. Начиная примерно года с 2016 очень много трафика из поисковиков уходит в соц.сети, стриминговые платформы, мессенджеры. Много контента стало создаваться напрямую в интерфейсе, например, Telegram. И в связи с этим встаёт вопрос об автоматическом наполнении сайта контентом из соц.сетей и мессенджеров. Для этого как раз и нужно знать как создавать материалы в Joomla 4 / Joomla 5 и старше программным способом.
-
Обновление компонента SW JProjects v.2.0.0
Компонент позволяет создать свой собственный каталог расширений Joomla (и не только) и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей. Для разработчиков Joomla есть возможность для каждого расширения указать сервер обновлений, changelog url для отображения изменений прямо в панелях администратора сайтов ваших клиентов.
-
Улучшение производительности Joomla 4. Часть I
Joomla 4 существенно улучшена по сравнению с Joomla 3. Прямо из коробки вы получаете очень быструю CMS со встроенной поддержкой структурированных данных (которые ранее назывались «микроданными»), а также несколько типов кэширования, подходящих для любой сферы применения, от легковесных персональных сайтов до массивных, нагруженных порталов.
-
Программное создание материалов с пользовательскими полями в Joomla 5+
С помощью материалов Joomla на сайте можно сделать не только контентный сайт-статейник или новостник, но каталог, простую доску объявлений и т.д. Начиная примерно года с 2016 очень много трафика из поисковиков уходит в соц.сети, стриминговые платформы, мессенджеры. Много контента стало создаваться напрямую в интерфейсе, например, Telegram. И в связи с этим встаёт вопрос об автоматическом наполнении сайта контентом из соц.сетей и мессенджеров. Для этого как раз и нужно знать как создавать материалы в Joomla 4 / Joomla 5 и старше программным способом. В статье описывается процесс получения данных из сервиса парсинга объявлений о продаже автомобилей в Telegram и сохранения данных в категорию материалов.
-
Вышел плагин Revars 2.0.0
Revars - это плагин, позволяющий делать замену одного содержимого страницы другим. Чаще всего он используется для создания и работы с собственными переменными вида
{VAR_...}
. Например создав переменную{VAR_PHONE}
вы можете везде на сайте указывать именно её, а сам номер телефона менять только в настройках плагина.{VAR_INN}
,{VAR_BRAND_NAME}
,{VAR_YANDEX_MAP_SCRIPT}
- вариантов для использования переменных множество. -
Обновление плагина WT JoomShopping Bitrix24 PRO v.3.1.3
Впервые за 1,5 года вышла новая версия плагина отправки заказов из интернет-магазина JoomShopping в CRM Битрикс24. Плагин передает лиды, сделки, создаёт контакты и реквизиты, повторные сделки. Обеспечивает смену статуса заказа в JoomShopping при изменении стадии сделки в Битрикс 24 (двухсторонняя интеграция).
-
Генератор плагина для Joomla 4 и Joomla 5
Данный генератор для Joomla-разработчиков помогает создать болванку плагина по структуре файлов и классов Joomla 4 и Joomla 5. Создаётся сервис-провайдер, основной класс плагина, языковые файлы для русского языка.
-
Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина
В Joomla, как и во многих других PHP фреймворках и движках, уже довольно давно (с версий 1.7.x) существует возможность работы с помощью CLI. С его помощью обычно решают те задачи, решение которых в веб-интерфейсе Joomla нецелесообразно из-за возможных ограничений веб-сервера - так называемые "тяжелые" задачи. Это может быть миграция большого количества контента со старой версии Joomla на новую, синхронизация данных с внешним источником по API (синхронизация цен и остатков, выгрузка заказов), работа с файлами и каталогами, выполнение пакетных заданий на больших объёмах и т.д. - всё то, что может занимать много времени и ресурсов сервера.
-
Менеджер ключей доступа для сервера обновлений появился в Joomla 4.0
Небольшая заметка для Joomla-разработчиков, распространяющих свои расширения на платной основе.
-
Видео "Как работает Joomla" - путеводитель для разработчиков расширений
На канале Robbie Jackson вышло видео, в котором разъясняется внутренняя механика работы Joomla. Затрагиваются вопросы роутинга, шаблонизации, REST API, CLI, диспетчеризации (события для плагинов) и т.д.
-
Интеграция Joomla 5 и Moodle 4.3. Инструкция по установке и настройке библиотеки WT JMoodle. ВИДЕО.
Видео для разработчиков. На самом деле на начальном этапе больше работы нужно сделать на стороне Moodle, поэтому внутри инструкция по настройке и использованию REST API Moodle.
-
Joomet - анализатор и переводчик языковых файлов Joomla расширений
При переводе расширения Joomla вы не думали постоянно: «Это должно быть проще/быстрее»? Ловили себя на случайных ошибках после того, как потратили несколько минут или даже часов на эту работу?
Страница 1 из 2
Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.
Мы рады пригласить вас в ряды нашего сообщества!
Новости портала
Новое в блогах
Видео
Форум о Joomla
-
На локал сервере страницы сайта без шаблона, CSS и картинок
Joomla 2.5: Шаблоны, разметка и макеты вывода
-
Re: Стоимость доставки для нескольких товаров. Должна ли рассчитываться?
Общие вопросы и ошибки
-
Re: Убрать префикс ru в мультиязычном сайте в модуле переключения языка
Joomla 4 и Joomla 5: Локализация
-
В атрибутах товара другие товары
VirtueMart 2&3
-
Re: На чем лучше сделать магазин цифровых товаров?
Флейм