Дайджест Joomla за весну 2021

a13f1a8c5330d066709cc92eafbba7b0.jpg?v=1

Все главные новости из мира Joomla за осень 2020 и весну 2021, в одной статье.

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

Главные новости о Joomla

Начнем с того, что в 2020 году Joomla исполнилось 15 лет. 17 августа 2005 года состоялся первый публичный релиз Joomla 1.0. За это время было фактически 15 мажорных выпусков CMS, а всего было выпущено официально более 80 релизов Joomla.

С июня 2020 года вышло 7 релизов Joomla: с 3.9.20 по 3.9.27.

За это время была закрыта 31 уязвимость низкого уровня , 1 уязвимость среднего уровня, а также большое количество исправлений и улучшений. Мы настоятельно рекомендуем поддерживать актуальную версию CMS на Ваших сайтах.

Релизы Joomla 4 и Joomla 3.10

Joomla 4

Joomla 4 в 2020 году прошла путь от Beta 2 до RC1. Проделана работа по включению в Joomla 4 css-фреймворка Bootstrap 5 и отказу от js-библиотеки jQuery. Bootstrap 5 используется как в панели администратора, так и в шаблоне по умолчанию Cassiopea.

Cообществом Joomla начата работа над локализацией Joomla 4 на русский язык. Переводчики всегда рады помощи в переводе Joomla 4 и исправлении ошибок.

Github локализаторов

Joomla 3.10

Переход с Joomla 3.9 на Joomla 4.0 является миграцией. В Joomla 3.10 добавили новую функцию в компонент обновления Joomla, чтобы помочь в процессе мини-миграции: инструмент проверки перед обновлением (Pre-update Checker). Эта ветка развивается исключительно для облегчения миграции с Joomla 3 на Joomla 4 и будет поддерживаться 2 года с момента выпуска.

Статьи о Joomla

Аутентификация на основе токенов — как использовать ее в Joomla 4

Англоязычная статья и видео урок о новых возможностях Joomla 4. В статье рассказано об аутентификации без пароля (аутентификация на основе токенов) и API веб-сервисов Joomla.

Видео урок

Статья

90 баллов в Pagespeed для сайта на Joomla

Небольшая статья с рекомендациями по увеличению скорости загрузки сайта на Joomla и достижению заветной «зеленой зоны» по Google Page Speed. В качестве подопытного выбран сайт на на базе фреймворка Astroid от JoomDev.

Статья

Работа с шаблонами e-mail в Joomla 4

В Joomla 4 появится новая функция — шаблонизация HTML писем. В данной статье проведен небольшой мастер класс по настройке шаблонов писем для различных компонентов. Статья освещает важный момент мультиязычности рассылаемых писем.

Статья на английском

Пример обертки над API Joomla 4

На Github стали появляться примеры для оберток над API Joomla 4, что позволяет рассматривать Joomla 4 в качестве бэкенда для реактивных сайтов и сервисов.

Ссылка на Github

Официальный сайт

Информация об API Joomla

Google заявила о спонсировании разработки Joomla

В рамках инициативы «CMS с отрытым исходным кодом» компания Google объявила о спонсорстве CMS Joomla. Google предоставит контент, который охватывает новейшие передовые практики, технологии и инструменты, направленные на повышение удобства работы пользователей, информационную поддержку. Финансовая поддержка коснется проектов, направленных на повышение производительности, конфиденциальности и безопасности, а также на поддержку новых возможностей веб-платформы.

Статья

Большой мануал по созданию каталога на базе полей Joomla

Статья, демонстрирующая возможности Joomla «из коробки» и подход к разработке сайтов, использующий ключевые особенности CMS.

Статья

Интеграция форм обратной связи и Битрикс 24 на сайте Joomla

Небольшой мастер класс по интеграции CRM Битрикс 24 и сайта на CMS Joomla.

Статья

Обзор новой функции в Joomla 4: процессы публикации

В Joomla 4 появилась новая функция Workflows. В данной статье рассказано о новой функции. В русской локализации Joomla 4 термин Workflows будет переведен, как Процессы.

Статья

Статьи о подготовке шаблонов и расширений к совместимости с Joomla 4.

В официальном журнале Joomla регулярно выходят статьи о подготовке шаблонов и расширений для Joomla 4.

Тесты

Результаты тестирования Joomla 3.9 под PHP 8

По последним результатам тестирования Joomla показала относительно небольшой прирост под PHP 8.

Так что если вы сейчас используете хотя бы PHP 7.3 можете продолжать его использовать и не беспокоиться о том, что PHP 8 откроет вам новые горизонты. Однако если вы до сих пор используете PHP 5.6, то переход на PHP 7.4 или на 8, даст почти 35% к производительности.

Результаты тестов

Хотелось бы отметить, что многие подчеркивают производительность WordPress по сравнению с Joomla в этом тесте. В реальности надо смотреть на сравнение WordPress 5.6 — WooCommerce 4.8.0 vs Joomla. Во всех подобных тестах всегда возникает вопрос, почему для теста WP и Drupal выбирается одна из самых легких страниц, а для теста Joomla одна из самых тяжелых, так как формирования страницы избранного с кучей модулей, гораздо тяжелее чем формирование страницы статьи.

Расширения для Joomla

YOOtheme Pro

За прошедший год вышло несколько релизов популярного шаблона и сайт-билдера YOOtheme PRO. Шаблон построен на css-фреймворке UiKit, разработанным командой YOOtheme.

Билдер имеет конструкт динамического контента, то есть можно не просто конструировать страницы из HTML блоков, а сконструировать допустим вывод блога категории или непосредственный вывод статьи.

Плагин jYProExtra

Это плагин, расширяющий возможности сайтбилдера YOOTheme Pro. Он позволяет использовать улучшение изображений YOOtheme Pro на всем сайте: отложенная загрузка и возможность использовать изображения в формате WebP. Дочерние темы, удаление JavaScript, постраничная навигация YOOTheme PRO во всех компонентах и многое другое.

Страница расширения

Pro2Store для Yootheme PRO

Это аддон интернет магазина для популярного билдера сайтов Yootheme PRO.

Магазин предназначен исключительно для Yootheme PRO и распространяется бесплатно. Платно лишь дополнительные плагины оплаты.

Видео

Страница расширения

Phoca Email — компонент e-mail рассылок

Все знают про Acymailing, и когда речь заходит про email-рассылки на базе Joomla, его обычно и рекомендуют, но на самом деле таких компонентов под Joomla множество. Phoca Email — это простой компонент управления подписками и рассылками для Joomla.

Возможности компонента:

  • Рассылка по подписчикам.

  • Замена шаблонов рассылки компонентов, таких как Vituemart или PhocaCart.

  • Отправка сообщений от лица администрации.

  • Поддержка HTML сообщений.

  • Функция отправки статьи с сайта.

Страница расширения

Helix Ultimate 2.0 от JoomShaper

Helix — это один из самых популярных шаблонов для Joomla, на базе, которого строятся многие клубные шаблоны. За прошедший год было выпущено несколько alpha и beta версий этого фреймворка. На момент написания обзора была доступна Beta 3 на базе Bootstrap 5.

Так же JoomShaper имеет свой конструктор страниц SP Page Builder, которым пользуются более 200 000 разработчиков по всему миру. Основной упор JoomShaper делает на редактирование дизайна  сайта с фронта.

Статья

Обновление CCK для Joomla  ZOO 4.0

YOOtheme выпустила некогда мега популярный CCK для Joomla. Спустя 6 лет после последнего значимого релиза ZOO 3.3 CCK обновился до версии 4. По сути ZOO 4 выпущен для расширения возможностей Page Builder YOOtheme Pro.

Разработчики заявляют о тесной интеграции с YOOtheme Pro и не случайно все страницы ZOO выпущены в качестве шаблонов для YOOtheme Pro.

Видео

Официальная новость

Обновления JBZoo v4.11 и 4.12

JBZoo — это обширное приложение для Zoo, которое реализует много дополнительных функций в Zoo, в частности фукнции интернет-коммерции. С 2018 года преобразован в бесплатный продукт.

За эти 2 релиза проделана большая работа, добавлено много новых элементов и хуков (оплата через Сбербанк, Юкасса; доставка СДЭК, Boxberry), новый роутинг.

Подробнее

JL Like v4.0.5

Бесплатный плагин социальных кнопок для Joomla.

WT JoomShopping Bitrix24 PRO

Бесплатный плагин для двухсторонней интеграции CRM Битрикс24 и интернет-магазина на базе JoomShopping. Плагин предоставляет гибкую настройку сопоставления полей CRM и данных интернет-магазина, позволяет создавать лиды и сделки на определенной стадии воронки продаж, ищет дубли контактов, передает UTM-метки. Позволяет изменять статусы заказа в интернет-магазине в зависимости от стадии лида или сделки.

Плагин интегрирован с профессиональным плагином формы обратной связи RadicalForm и позволяет создавать лиды из форм обратной связи, созданных с помощью RadicalForm.

Страница расширения

Видео-гайд по настройке

Обновление WT Virtuemart Bitrix24

Плагин позволяет отправлять данные о заказах Virtuemart в CRM Битрикс24 в виде лидов. Своеобразная лайт-версия аналогичного плагина для JoomShopping.

Видео

Страница расширения

Обновление модуля вывода материалов JUNewsUltra Pro 6.9

Модуль «заточен» под работу с большими нагрузками, работает на сайтах-новостниках с посещаемостью более 230 000 уникальных посетителей в сутки.

Основной функционал.

  • Шаблонизация внешнего вида.

  • Поддержка Youtube, RSS, Vimeo, JUMultiThumb, Content Multicategories, JComments, Komento.

  • Очень гибкие настройки работы с изображениями.

  • Большой список настроек вывода материалов.

Что нового в JUNewsUltra?

  • Поддержка отдельного формата изображений WebP

  • Адаптивная поддержка изображений WebP вместе с обычными через тег

  • Добавлена поддержка нативной ленивой загрузки loading=«lazy»

  • Добавлена поддержка нативного свойства decoding=«async»

  • Добавлена поддержка Joomla 4

  • далены зависимости jQuery в админке Joomla 4

Страница расширения

TCI — Telegram Content Import для Joomla

Системный плагин для CMS Joomla!, обеспечивающий импорт постов из Telegram в материалы Joomla.

Парсер умеет автоматически наполнять сайт Joomla из телеграмм канала создавая:

  • Заголовок поста

  • Краткое и полное описание

  • Дату создания поста

  • Автора

  • Картинки для полного и краткого описания, а так же их описание.

  • Умеет вытягивать галерею картинок из телеграмм и ссылки на ютуб.

  • Создавать теги на основе хештегов и выставлять избранное.

  • Наполнение сайта по расписанию, с различными вариациями, допустим вы можете в зависимости от канала присваивать категорию материалу или язык.

  • Возможность подключить живые комментарии, прикреплённые к посту.

  • При наличии авторизации из телеграма позволяет полноценно использовать на сайте систему комментариев телеграма. Подключение производится посредством загрузки соответствующего скрипта API Telegram

Русскоязычное сообщество Joomla использует этот плагин для связи Joomlaportal.ru и телеграмм-канала сообщества.

Описание расширения

Компонент форума Kunena 5.2.1

Обновился один из самых популярных форумов для Joomla. В этом релизе значимое изменение, минимальной версией PHP стала 7.0.4. А главная цель релиза это поддержка PHP 8.

Официальная новость

Akeeba Engage v1.0

Компонент комментариев от Akeeba. Комментарии совместимы с Joomla 3  и Joomla 4.

Возможности компонента:

  • Поддержка HTML комментариев.

  • Разметка Schema.org

  • Подготовлен под AMP сайты

  • Email уведомления

  • Поддержка Gravatar

  • Полная поддержка Joomla, в том числе и журнал действий и GDPR.

  • Защита от спама: CAPTCHA и Akismet.

  • Есть позиции для вывода модулей.

  • Полная поддержка кеша Joomla.

Официальная новость

Convert Forms конструктор форм для Joomla

Его отличает от множества других подобных решений возможность создавать зависимые поля.

Возможности компонента:

  • Конструктор форм.

  • Более 20 полей для формы.

  • Шаблоны форм.

  • Интеграции с различными онлайн сервисами рассылок.

  • Различные сценарии действий после отправки форм.

  • Зависимые поля.

  • Ajax.

  • Уведомления на email.

  • Импорт — экспорт.

  • Настройки шрифтов, цветов, границ и форм.

  • Встраивание с помощью шорткодов и модулей.

  • Адаптивность.

  • Поддержка популярных западных CRM и сервисов.

https://www.tassos.gr/joomla-extensions/convert-forms

Профессиональный плагин форм обратной связи RadicalForm

За год вышло несколько релизов. Плагин позволяет отправлять сообщения не только на e-mail, но и в Телеграм, Verbox, Jivosite и даже SMS. При необходимости разработчики могут создавать свои дополнительные плагины и отправлять данные форм куда угодно.

Страница расширения

JD Builder 1.8.0 и совместимость билдера с Joomla 4

JoomDev представил обновление своего Page Builder для Joomla. Основным нововведением считает совместимость с Joomla 4 и Joomla 3.10.

Что нового?

  • Интеграция с ACYMailing.

  • Элемент прайс-листа.

  • Бесплатные шаблоны для пользователей PRO.

  • Изменения структуры настроек. 

Небольшой обзор нового функционала

Quantum Manager 1.6.0 — современный файловый менеджер для Joomla.

Бесплатный файловый менеджер для Joomla! с помощью которого Вы сможете загружать, редактировать и вставлять в редактор (а так же и пользовательские поля Joomla) файлы. Есть возможность переопределить вызовы стандартного файлового менеджера.

  • Интеграция с фотостоками.

  • Автоматическая обработка картинок.

  • Встроенные средства редактирования изображений.

  • Поддержка WebP

  • Удобная навигация и пакетная работа с файлами.

  • Разграничение по группам пользователям

  • Настройка цвета иконок файлов.

  • Интеграция с SP Page Builder.

  • Интеграция с YOOTheme Pro

Страница расширения

Radical Multi Fields 3.0.1

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

Основная фишка этого обновления тесная интеграция с Quantum Manager v1.7.0.

Страница расширения

Обновление CFI v. 1.0.6

CFI — плагин для импорта и экспорта данных стандартных материалов и кастомных (настраиваемых) полей.

Страница расширения

WT SEO Meta templates плагин сео-шаблонов для 

Позволяет использовать сео-формулы (шаблоны, маски) для тега и meta-тега description, например «Купить {PRODUCT_NAME} в {CITY_NAME} за {PRODUCT_PRICE}». Принимает данные (в том числе и сео-шаблоны) из дополнительных плагинов-провайдеров. </p><p>На данный момент доступны плагины-провайдеры для категорий, материалов Joomla и их пользовательских полей, а так же компонентов Virtuemart и My City Selector.</p><p>https://web-tolk.ru/dev/joomla-plugins/wt-seo-meta-templates.html </p></div> <p class="copyrights"><span class="source">© <a target="_blank" rel="nofollow" href="https://habr.com/ru/post/562720/?utm_campaign=562720&amp;utm_source=habrahabr&amp;utm_medium=rss">Habrahabr.ru</a></span></p> </div> <br> <!--<div align="left"> <script type="text/topadvert"> load_event: page_load feed_id: 12105 pattern_id: 8187 tech_model: </script><script type="text/javascript" charset="utf-8" defer="defer" async="async" src="//loader.topadvert.ru/load.js"></script> </div> <br>--> <div style="padding-left: 20px;"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2514821055276660" crossorigin="anonymous"></script> <!-- PCNews 336x280 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2514821055276660" data-ad-slot="1200562049" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <!-- comments --> <noindex> <div style="margin: 25px;" id="disqus_thread"></div> <script type="text/javascript"> var disqus_shortname = 'pcnewsru'; var disqus_identifier = '1090211'; var disqus_title = 'Дайджест Joomla за весну 2021'; var disqus_url = 'http://pcnews.ru/blogs/dajdzest_joomla_za_vesnu_2021-1090211.html'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <!--<noscript>Please enable JavaScript to view the <a rel="nofollow" href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>--> <!--<a href="http://disqus.com" rel="nofollow" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>--> </noindex> </div> <br class="clearer"/> </div> <br class="clearer"/> <div id="footer-2nd"></div> <div id="footer"> <br/><br/> <ul class="horz-menu"> <li class="about"><a href="/info/about.html" title="О проекте">О проекте</a></li> <li class="additional-menu"><a href="/archive.html" title="Архив материалов">Архив</a> </li> <li class="additional-menu"><a href="/info/reklama.html" title="Реклама" class="menu-item"><strong>Реклама</strong></a> <a href="/info/partners.html" title="Партнёры" class="menu-item">Партнёры</a> <a href="/info/legal.html" title="Правовая информация" class="menu-item">Правовая информация</a> <a href="/info/contacts.html" title="Контакты" class="menu-item">Контакты</a> <a href="/feedback.html" title="Обратная связь" class="menu-item">Обратная связь</a></li> <li class="email"><a href="mailto:pcnews@pcnews.ru" title="Пишите нам на pcnews@pcnews.ru"><img src="/media/i/email.gif" alt="e-mail"/></a></li> <li style="visibility: hidden"> <noindex> <!-- Rating@Mail.ru counter --> <script type="text/javascript"> var _tmr = window._tmr || (window._tmr = []); _tmr.push({id: "93125", type: "pageView", start: (new Date()).getTime()}); (function (d, w, id) { if (d.getElementById(id)) return; var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id; ts.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//top-fwz1.mail.ru/js/code.js"; var f = function () { var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s); }; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "topmailru-code"); </script> <noscript> <div style="position:absolute;left:-10000px;"> <img src="//top-fwz1.mail.ru/counter?id=93125;js=na" style="border:0;" height="1" width="1" alt="Рейтинг@Mail.ru"/> </div> </noscript> <!-- //Rating@Mail.ru counter --> </noindex> </li> </ul> </div> <!--[if lte IE 7]> <iframe id="popup-iframe" frameborder="0" scrolling="no"></iframe> <![endif]--> <!--<div id="robot-image"><img class="rbimg" src="i/robot-img.png" alt="" width="182" height="305" /></div>--> <!--[if IE 6]> <script>DD_belatedPNG.fix('#robot-image, .rbimg');</script><![endif]--> </div> <!--[if lte IE 7]> <iframe id="ie-popup-iframe" frameborder="0" scrolling="no"></iframe> <![endif]--> <div id="footer-adlinks"></div> <noindex> <!--LiveInternet counter--><script type="text/javascript"> document.write("<a rel='nofollow' href='//www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t45.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='1' height='1'><\/a>") </script><!--/LiveInternet--> <!-- Rating@Mail.ru counter --> <script type="text/javascript"> var _tmr = window._tmr || (window._tmr = []); _tmr.push({id: "93125", type: "pageView", start: (new Date()).getTime()}); (function (d, w, id) { if (d.getElementById(id)) return; var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id; ts.src = "https://top-fwz1.mail.ru/js/code.js"; var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);}; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "topmailru-code"); </script><noscript><div> <img src="https://top-fwz1.mail.ru/counter?id=93125;js=na" style="border:0;position:absolute;left:-9999px;" alt="Top.Mail.Ru" /> </div></noscript> <!-- //Rating@Mail.ru counter --> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function () { try { w.yaCounter23235610 = new Ya.Metrika({ id: 23235610, clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true, trackHash: true }); } catch (e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript> <div><img src="https://mc.yandex.ru/watch/23235610" style="position:absolute; left:-9999px;" alt=""/> </div> </noscript> <!-- /Yandex.Metrika counter --> <!-- Default Statcounter code for PCNews.ru http://pcnews.ru--> <script type="text/javascript"> var sc_project=9446204; var sc_invisible=1; var sc_security="14d6509a"; </script> <script type="text/javascript" src="https://www.statcounter.com/counter/counter.js" async></script> <!-- End of Statcounter Code --> <script> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-46280051-1', 'pcnews.ru'); ga('send', 'pageview'); </script> <script async="async" src="/assets/uptolike.js?pid=49295"></script> </noindex> <!--<div id="AdwolfBanner40x200_842695" ></div>--> <!--AdWolf Asynchronous Code Start --> <script type="text/javascript" src="https://pcnews.ru/js/blockAdblock.js"></script> <script type="text/javascript" src="/assets/jquery.min.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/jquery.json.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/jquery.form.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/jquery.easing.1.2.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/effects.core.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/browser-sniff.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/scripts.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-utils.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-auth.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-fiximg.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-infobox.js"></script> </body> </html>