Все главные новости из мира Joomla за лето и осень 2021 года, которые я постарался уместить в одной статье и выложил в своём блоге на Хабре.
Главные новости о Joomla
Выход Joomla 4
Конечно, самой главной новостью мира Joomla стал выход долгожданной Joomla 4, чему был посвящён отдельный пост на хабре с кратким обзором нововведений. С момента предыдущей мажорной версии прошло 9 лет.
В "коробке" Joomla 4 появилось немало нового функционала, вот некоторая часть:
-
появился REST API
-
css-фреймворк Bootstrap 5
-
cоответствие админки и шаблона Cassiopeia ГОСТ Р 52872-2019 и WCAG 2.1
-
нативная поддержка HTML-шаблонов писем, с мультиязычностью
-
новая функция «Процессы» (статья-обзор на vc.ru)
Произошло слияние Joomla 4 CMS и Joomla Framework, из-за чего возможности для разработчиков сильно расширились. Движок стал поддерживать стандарты PSR (PSR7, PSR17 и PSR18). Проект Joomla является проектом-участником PHP FIG, отвечающим за разработку и реализацию этих стандартов.
Что с Joomla 3?
Третья линейка не будет получать новый функционал, но продолжит получать обновления безопасности в течение 2 лет с момента выхода Joomla 4.
Миграция с Joomla 3.10 на Joomla 4.0
Напоминаем, что переход с Joomla 3.x на Joomla 4.x является миграцией. Joomla 3.10.0 называют "мостом" между линейкой 3.x и 4.x. Перед миграцией необходимо убедиться, что все используемые расширения имеют поддержку Joomla 4, а Ваш хостинг отвечает минимальным техническим требованиям.
В Joomla 3.10 в компоненте "Обновления Joomla" находится кнопка "проверить обновления". После нажатия запускается Pre-update Check - проверка на совместимость текущего окружения и расширений с Joomla 4.
Электронная коммерция на Joomla
JoomShopping
JoomShopping - это один из самых популярных интернет магазинов для Joomla в России, СНГ и Европе, обладает интеграциями со всеми популярными платежными системами и сервисами доставки. Имеет сотни расширений и интеграций.
Летом произошло обновление компонента интернет-магазина JoomShopping 4.18.6 и 4.18.7. Обновление вышло после длительного перерыва, почти 8 месяцев.
Что нового?
-
Добавлена поддержка формата изображений WebP
-
Cron для импорта и экспорта.
-
Показывается дата и время для отзывов.
-
Исправления кода для совместимости с PHP 8.
JoomShopping 5 для Joomla 4
JoomShopping 5 - знаковое событие для этого интернет магазина. Предыдущая версия менялась во время перехода с joomla 2.5 на Joomla 3. При этом внешний вид интернет магазина не менялся со времен Joomla 1.5. С одной стороны это печально, с другой стороны позволяет работать огромному количеству аддонов и расширений в режиме совместимости. В целом разработчики «довели» JoomShopping до того, чтоб он заработал на Joomla 4. Скорее всего плагины, аддоны, модули для более старых версий будут и работать на 5-й версии или сразу или с минимальными доработками.
WT SM Otpravka.pochta.ru – интеграция JoomShopping с Почтой России для бизнеса.
Вышло несколько релизов. Расширение позволяет рассчитывать стоимость доставки Почтой России по тарифам согласно договору. Создаёт трек-номера и показывает их клиенту, отправляет на электронную почту и сохраняет в истории заказа. Трек-номер при необходимости можно передать в CRM Битрикс24.
Бесплатный шаблон для интернет-магазина на базе JoomShopping 4.18 с использованием CSS-фреймворка Bootstrap 4.6.
На момент создания шаблона Bootstrap 5 был ещё в статусе beta-версии. Представленный шаблон - не конечный продукт. В виду того, что каждый интернет-магазин - явление по своему уникальное, к нему следует относиться как к некой болванке, которую следует адаптировать под каждый конкретный проект.
Скачать шаблон для JoomShopping
Phoca Cart
Компонент интернет-магазина Phoca Cart теперь полностью поддерживает Joomla 4.
«Из коробки» магазин имеет счета, POS, мотивация покупателей (скидки, купоны, подарочные сертификаты, бонусная система с полной или частичной оплатой заказа баллами, специальные цены для групп покупателей).
На сайте разработчика есть готовые переопределения для популярных шаблонов:
-
Cassiopeia (Joomla 4)
-
Gantry 5
-
Astroid
-
Helix
Платёжный плагин Stripe Checkout для Phoca Cart от команды NorrNext
Вышел новый платёжный плагин Stripe Checkout для компонента интернет-магазина Phoca Cart от NorrNext. выпустили платежный плагин Stripe Checkout for Phoca Cart.
Отличие от обычного Stripe заключается в переходе на внешнюю страницу платежного шлюза, а также в поддержке дополнительных систем оплаты, которые интегрируются со Stripe. Также команда NorrNext создавала платёжные плагины Phoca Cart для Сбербанка, Робокассы, 2Checkout
HikaShop
Один из известных платных компонентов электронной коммерции для Joomla получил версию для Joomla4 с поддержкой PHP 8. HikaShop имеет 3 редакции: бесплатный Starter, и платные Essential и Business.
С помощью аддонов можно расширить функционал магазина до маркетплейса или аукциона, продавать цифровые товары, в том числе серийные номера, лицензионные ключи и т.д.
Virtuemart
Пожалуй, старейший компонент интернет-магазина для Joomla. Компонент разрабатывается сообществом. На данный момент ведётся адаптация ядра Virtuemart для Joomla 4. Стабильная версия для Joomla 3 - 3.8.9. Скачать можно здесь http://dev.virtuemart.net/projects/virtuemart/files Там же есть версия 3.8.9RC с поддержкой Joomla 4. Обсуждение проекта ведется на форуме Virtuemart.
СЕО-продвижение для Joomla
Плагин сео-формул WT SEO Meta templates
Плагин получил несколько релизов. Он нужен для создания <title> и meta-description по заданной формуле, например «Купить {PRODUCT_NAME} за {PRODUCT_PRICE} в {CITY}». Состоит из основного плагина и плагинов-провайдеров, в которых настраиваются формулы.
На данный момент созданы следующие плагины-провайдеры:
-
WT SEO Meta templates - Virtuemart (интернет-магазин)
-
WT SEO Meta templates - JoomShopping (интернет-магазин)
-
WT SEO Meta templates - My City Selector (компонент мульти-региональности Joomla). Компонент My City Selector на GitHub
-
WT SEO Meta templates - Content, стандартные материалы и категории Joomla и их пользовательские поля.
При установке основного плагина установка плагинов-провайдеров происходит автоматически.
WT JoomShopping Schema.org – плагин микроразметки для JoomShopping
Плагин добавляет на страницы JoomShopping микроразметку Schema.org в формате ld+json.
Поддерживаются:
-
главная страница магазина
-
категория товара
-
карточка товара
-
список производителей
-
список товаров производителей
WT JShopping products anywhere – вставка товаров в материалы Joomla
Это пакет, состоящий из двух плагинов: контент-плагина и плагина кнопки редактора, позволяющие быстро и удобно вставлять товары JoomShopping в материалы, модули и везде, где работают контент-плагины. Если Вы измените категорию товара (например), то ссылки исправятся автоматически, что очень удобно для перелинковки на сайте: обзоры и рейтинги товаров, посадочные страницы с product placement и т.д.
Контент-плагин поддерживает макеты вывода. Это значит, что Вы можете создать свой собственный макет вывода и представить более полную информацию о вставленном товаре: изображение, краткое описание, цену, количество просмотров, рейтинг, количество товара и т.д.
Статьи о Joomla
12 новых возможностей Joomla 4.
Обзор нововведений Joomla 4 от специалиста по Virtuemart Виталия Wedal.
Статья о двухсторонней интеграции Joomla и Битрикс24
Небольшой кейс двухсторонней интеграции интернет-магазина на Joomla + JoomShopping и CRM Битрикс24. Обращения с форм обратной связи уходят в Битрикс24 в качестве лидов, заказы – в качестве лидов или сделок на нужной стадии. При изменении стадии лида или сделки в CRM происходит смена статуса заказа в JoomShopping.
Разработка форм обратной связи для Joomla 3
Статья на Хабре описывает разные подходы к созданию форм обратной связи на сайтах и интернет-магазинах Joomla на примере магазинов на базе Virtuemart и JoomShopping.
Руководство по новой функции Joomla 4 – Процессы
Статья на vc.ru с обзором одной из самых любопытных новинок Joomla 4 – функции Workflows, которая в русскоязычной интерпретации получила перевод «Процессы». Статья описывает самый очевидный способ применения новинки – создания на сайте этапов издательского процесса: автор, редактор, главный редактор, корректор. Эти этапы с лёгкостью можно заменить своими: копирайтер, редактор, сео-специалист.
Учитывая, что в Joomla есть лог действий пользователей, всегда можно понять кто и на каком этапе внёс определенные правки. Данный функционал можно применить и для многопользовательской работы над документами во внутрикорпоративных порталах: разрабатывают документ юристы, вносят поправки другие отделы - маркетинг, тех.поддержка, BigBoss. Корпоративная почта освободится от длинных цепочек писем.
Joomla-разработчикам
Библиотека полей lib_fields
Разработчики часто создают свои типы полей JForm, необходимые для реализации функционала. Некоторые типы полей повторяются из проекта в проект, поэтому возникла идея объединить их в библиотеку.
Список групп полей:
-
ipgeobase Документация
-
layouts Документация
-
listarticles Документация
-
listcomponents Документация
-
quantumuploadimage Документация
-
selectmenuitem Документация
-
subformmore Документация
-
usersgroup Документация
-
yandexmaps Документация
Разработчики предлагают всем внести свой вклад в развитие библиотеки и присылать свои поля, которые могут пригодиться другим людям.
https://github.com/JPathRu/lib_fields
А так же:
Универсальный плагин для кастомных полей Joomla https://github.com/Delo-Design/radicaluniversalfield
Библиотека mpdf для Joomla! https://github.com/Delo-Design/jmpdf
Revars - плагин замены переменных в тексте (например, контакты, адреса офисов и т.д.) https://github.com/Delo-Design/revars
Скрипт очистки Joomla от предустановленных расширений
Этот скрипт особенно полезен для начальной разработки сайта на Joomla. Дело в том, что по умолчанию в Joomla включена масса расширений, которые большинству сайтов не нужны, как раз этот скрипт позволяет быстро отключить все не нужное в Joomla.
Какие плюсы от отключения лишних расширений?
-
Уменьшение количества запросов к базе данных.
-
У вас не генерируются левые URL для контактов, фидов и других расширений, которые возможно вы никогда, не будет использовать.
-
Админка становится намного чище и легче из-за того, что у вас не светятся лишние компоненты, модули и плагины.
Как правильно подключать JavaScript и CSS в Joomla 4
В Joomla 4 появилась концепция Web Assets, которая упорядочила работу с JavaScript и CSS в Joomla. По сути каждый отдельный JS или CSS файл представляет собой ассет (ресурс).
В этой статье рассказывается:
-
о реестре скриптов и стилей
-
как правильно подключать скрипты и стили
-
как определять их зависимости
-
как их переопределять и отключать
-
как создавать пресеты скриптов и стилей
-
как создавать пользовательский класс ассета
Создание внешних запросов с использованием HttpFactory (Joomla)
Пост на хабре об создании внешних запросов с использованием API Joomla без подключения сторонних библиотек (Guzzle etc), включая токены аутентификации в заголовках запроса. В Joomla 3 "из коробки" доступны 3 драйвера транспорта: cURL, socket, stream.
System – Elodie – плагин для получения отдельных полей через REST API Joomla4
На Facebook промелькнул любопытный плагин, позволяющий получать отдельные поля из API Joomla 4. Как пишет автор плагина, при его реализации он опирался на спецификацию JSON-API SPEC. Этот плагин может пригодится разработчикам проектов, где в качестве бэкенда используется Joomla4.
Подготовка расширения к переходу на Joomla 4
Joomla 4 уже здесь, но обновление не всегда проходит гладко. Чаще всего из-за сторонних расширений, использующих устаревшие методы API. Этот материал - попытка собрать в одном месте решения наиболее часто встречающихся проблем при переходе на Joomla 4.
Ajax-запросы нативными средствами Joomla
Небольшая заметка о том, как делать ajax-запросы штатными средствами без использования дополнительных js-библиотек (jQuery, etc). Joomla 3 и Joomla 4 предоставляют небольшую обёртку для конструирования XMLHttpRequest.
Проблема с SSL и просроченным DST ROOT CA X3 сертификатом в Joomla
У Joomla в комплекте есть своя цепочка сертификатов, которые она применяет, когда проверяет обновления - /libraries/src/Http/Transport/cacert.pem Поэтому Joomla может работать даже с просроченными сертификатами на сервере. Просто поставьте себе https://raw.githubusercontent.com/joomla/joomla-cms/3.10-dev/libraries/src/Http/Transport/cacert.pem в /libraries/src/Http/Transport/cacert.pem
Удостовериться в проблеме можно вот так:
https://gist.github.com/kernusr/74dc666148ccd753eaaee4128fdb059a
Файл кладём в корень сайта и открываем в браузере
Если видим ошибку, то открываем файл и комментируем строку
$options[CURLOPT_CAINFO] = __DIR__ . '/libraries/src/Http/Transport/cacert.pem';
И ещё раз проверяем. Если ошибка была только первый раз, то обновите сертификат джумле. Если оба – всё равно обновите сертификат и потом идите бить хостера.
Оригинальный пост в Joomla-чате в Телеграм
Расширения
Ожидаемо, новости о расширениях для Joomla связаны по большей части с их адаптацией для Joomla 4. На официальном каталоге расширений Joomla Extensions Directory есть раздел с расширениями, у которых заявлена поддержка Joomla 4.
No Boss Autoupdate - авто обновление расширений Joomla
Расширение для Joomla 3 и Joomla 4. Позволяет автоматически обновлять расширения Joomla аналогично автоматическому обновлению расширений в WordPress.
Возможности расширения:
-
Обновление расширений по крону или через интервал времени.
-
Уведомления об обновлениях
-
Исключение расширений из списка обновлений.
Тем не менее, автоматические обновления расширений могут приводить к непредсказуемым последствиям, о чём иногда пестрят новости о WordPress. Рекомендуем держать обновления расширений под личным контролем.
RadicalForm Elements - бесплатный конструктор форм для Yootheme Pro
Это конструктор форм обратной связи, работает в паре с плагином формы обратной связи RadicalForm. С помощью него вы можете легко создавать любые формы – как типовые, так и нестандартные, включая квизы.
Расширение содержит набор элементов для билдера Yootheme Pro, с помощью которых вы можете быстро накликать форму.
JL Content Fields Filter 2.0.0 – фильтр материалов Joomla по пользовательским полям.
Популярная бесплатная система фильтрации материалов по полям Joomla. Фильтр поддерживает Ajax и фильтрует материалы прямо в категории материалов. Теперь фильтр поддерживает Joomla 4.
Обновление Slogin 2.10.1 – авторизация через соц.сети
Один из старейших компонентов социальной авторизации для Joomla, которому в 2021 году исполнилось уже 9 лет. Поддерживает почти все популярные сервисы авторизации и имеет огромное количество сторонних плагинов и модулей интеграции.
Что нового?
-
Исправления для плагина vk
-
Исправление для плагина LinkedIn
JComments 4 - компонент комментариев для Joomla 4.
JComments продолжает развиваться для Joomla 4 сообществом на GitHub. Поддерживается PHP 8 и MySQL 8. Все релизы отмечены как maintaince release. Это означает поддержку расширения в работоспособном состоянии без добавления нового функционала.
Что нового?
-
большая работа по актуализации кодовой базы расширения и соответствия её стандартам Joomla 4.
-
удалены все локализации фронтенда, кроме русской и английской в связи с тем, что они требуют обновления.
-
удален плагин простого поиска, так как в Joomla 4 остался компонент только «умного» поиска
-
шаблоны разделены на layouts и поддерживают Bootstrap 5
-
добавлена поддержка Gravatar
YtVideo 1.8.0 плагин вставки видео с YouTube
Обновился один из самых функциональных плагинов для вставки YouTube роликов на сайт Joomla. Плагин загружать ролик на страницу по факту клика на превью видео, что позволяет значительно ускорить загрузку страницы. Фоновое изображение предварительно кешируется и поддерживает ленивую загрузку. Поддерживаются изображения в формате WebP. Так же плагин умеет обрабатывать просто ссылки на видео YouTube.
В релизе:
-
Совместимость с Joomla 4
-
Добавлены новые соотношения сторон.
Phoca Gallery 4.5
Компонент галереи изображений для сайта уходит корнями в 2007 год. На данный момент для Joomla 4 есть версия, имеющая статус beta-версии. В целом она работает с Joomla 4, однако на «боевых» проектах рекомендуется использование только стабильных версий.
WT JoomShopping Bitrix24 PRO 2.6.0
Плагин двухсторонней интеграции интернет-магазина JoomShopping и CRM Битрикс24. Появился выбор условия создания лида/сделки: всегда или только после успешной оплаты. Добавлено новое значение для отправки в Битрикс24 - трек-номер Почты России.
DJ Extensions
Команда DJ-Extensions известна многими расширениями, среди которых:
-
DJ-Catalog (компонент каталога)
-
DJ-Classifieds (доска объявлений)
-
DJ-Reviews (компонент отзывов)
-
DJ-MediaTools (компонент галереи изображений)
и другие. Почти все расширения поддерживают Joomla 4.
Расширения https://dj-extensions.com/
Также команда предлагает свои расширения-провайдеры для динамического контента YooTheme Pro.
Tassos extensions
Греческий разработчик Tassos Marinos известен несколькими своими расширениями для Joomla.
Convert Forms
Среди них Convert Forms – билдер форм с большим количеством интеграций, шаблонов отображения. Одной из важных особенностей этого конструктора форм является возможность создавать зависимые поля и списки, чем вряд ли может похвастаться какое-либо другое расширение. Convert Forms поддерживает Joomla 4.
Google Structured Data
Компонент добавления микроразметки Schema.org на сайт. Поддерживается 20 компонентов для отображения микроразметки, 13 типов микроразметки. Google Structured Data поддерживает Joomla 4.
Шаблоны Joomla
В Joomla для максимальной свободы и качества вёрстки как правило пишутся шаблоны под проект. Тем не менее, существует не мало конструкторов и фреймворков, которые можно использовать, когда нужно сделать быстро и недорого. На мой взгляд, большинство билдеров страдают от избыточной верстки и мусора в коде, что является платой за удобство работы с мышкой и нежелание отшлифовывать код. На выходе, как правило, получаются своеобразные «сайты на Тильде». Но у этих решений есть свой рынок и некоторые из них могут показывать неплохие результаты. Напомним статью «90 баллов в PageSpeed для сайта на Joomla», где в качестве подопытного был бесплатный шаблон на фреймворке Astroid.
Шаблон JoomShaper Helix
Один из самых популярных билдеров для шаблонов – Helix Ultimate имеет версию для Joomla 4, поставляется с Bootstrap 5, FontAwesome 5. Конструктор страниц SP Page Builder позволяет быстро собрать мышкой лендинг из готовых блоков.
Шаблон YooTheme
Шаблоны и конструктор страниц YooTheme PRO для Joomla любят за чистоту кода и скорость загрузки. Одна из уникальных возможностей – динамический контент. Он позволяет конструировать переопределения макета прямо в билдере, создавая нужные макеты без глубокого погружения в код. Для динамического контента можно создавать свои провайдеры и таким образом работать с любым компонентом. С версии 2.6.0 конструктор страниц и фреймворк поддерживают Joomla 4.
Шаблон Astroid
Команда JoomDev завершила разработку расширений для Joomla и закрыли joomla-проекты. Свои платные расширения они выложили в открытый доступ.
Их главный шаблон и фреймворк Astroid форкнули несколько команд, одна из них - Templaza - успешно продолжает разработку и поддержку. Templaza выпустила несколько версий с исправлениями и улучшениями.
Форк Astroid от Templaza
Gantry от команды RocketTheme
Команда разработчиков RocketTheme продолжают разработку Gantry 5 и выпустили новую версию фреймворка. В версии начиная с Gantry 5.5 есть поддержка Joomla 4.
Шаблон Nature
Хотите чуть расширенную версию шаблона Cassiopeia? Тогда можете попробовать шаблон Nature для Joomla 4 от разработчика drmenzelit. В этом шаблоне более расширенные настройки чем в шаблоне по умолчанию. В настройках шаблона:
-
Цвета блоков и текста
-
Размеры заголовков и контейнеров
-
Настраиваемые позиции для модулей
-
Поддержка фавиконок, которые можно генерировать с помощью сервиса https://realfavicongenerator.net/, который создаёт в том числе манифесты для PWA.
Жизнь русскоязычного Joomla-сообщества
Русскоязычное сообщество Joomla довольно обширно, охватывает не только страны СНГ, но и Европы.
Ресурсы сообщества:
https://joomlaforum.ru/ - форум русской поддержки Joomla.
https://joomlaportal.ru/ - интернет-портал Joomla-сообщества.
Telegram:
https://t.me/joomlaru - чат сообщества «Joomla! по-русски»
https://t.me/projoomla - Joomla для профессионалов, разработчики Joomla
https://t.me/joomlafeed - Новости о Joomla! и веб-разработке по-русски.
https://t.me/joomla_jobs - вакансии и предложения работы по Joomla: фуллтайм, частичная занятость и разовые подработки. Размещение вакансий здесь: https://jpath.ru/jobs/add
https://t.me/joomlatalks - англоязычный чат сообщества.
Работа Joomla Support восстановлена
После отсутствия онлайн одного из старейших форумов по Joomla, его работа восстановлена. Форум переехал на другой хостинг и будет поддерживаться командой Joomlaforum.
Немного истории: форум зародился во времена joomla 1.0 и был одним из самых популярных ресурсов по Joomla в рунете того времени. В последствии ресурс откололся от joom.ru (не удивляйтесь, но раньше это было новостное издание по Joomla) и популярность его стала постепенно уменьшаться, что чуть не привело к закрытию форума.
Благодарности
Хочу сказать большое спасибо участникам Joomla-сообщества, которые помогли в сборе и обработке информации:
-
Ринат Кажетов
-
Владимир Елисеев (DeloDesign)
-
Евгений Сивоконь (NorrNext)