---
title: "Что нового в joomla 5.1? - WebTolk"
description: "16 апреля 2024 года вышли релизы Joomla 5.1 и Joomla 4.4.4. Если Joomla 4.x уже находится в режиме поддержки и получает только \"заплатки\", то в каждом выпуске J"
url: "https://web-tolk.ru/blog/chto-novogo-v-joomla-5-1"
date: "2024-04-25T14:48:05+00:00"
language: "ru-RU"
---

# Что нового в joomla 5.1?

 Автор: Сергей Толкачев Создано: 25 апреля 2024 Обновлено: 03 июня 2024 Просмотров: 1489    ![](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/header-1920x1080.webp)

16 апреля 2024 года вышли релизы Joomla 5.1 и Joomla 4.4.4. Если Joomla 4.x уже находится в режиме поддержки и получает только "заплатки", то в каждом выпуске Joomla 5.x появляется что-то новое. Краткий список был опубликован в [недавней новости](https://habr.com/ru/news/808193/). Давайте посмотрим подробнее на то что же именно появилось в Joomla 5.1.

Сначала [опубликовал статью на Хабре](https://habr.com/ru/articles/809491/), теперь копирую к себе. Также [статья доступна на официальном портале русскоязычного Joomla-сообщества](https://joomlaportal.ru/blogs/joomla/chto-novogo-v-joomla-5-1).

## Внедрение The Update Framework (TUF)

На Хабре встречается немало упоминаний TUF, также в статье [Как устроен The Update Framework (TUF). Обзор технологии безопасного обновления ПО](https://habr.com/ru/companies/flant/articles/578958/) можно ознакомиться с тем, как он устроен под капотом. TUF используют Microsoft, Amazon, Google, DigitalOcean, Docker, IBM, Datadog, VMware, Red Hat и другие компании. Если вкратце, то TUF - это набор инструментов, позволяющих удостовериться в том, что получаемые пакеты обновлений действительно исходят от проекта Joomla и не были модифицированы по пути к вашему сайту.

В 2016 году на сервере обновлений WordPress была обнаружена уязвимость, которая позволила бы злоумышленникам скомпрометировать [до 27% сайтов в интернете](https://www.wordfence.com/blog/2016/11/hacking-27-web-via-wordpress-auto-update/) (цифры на 2016-й год - 27% сайтов в мире были на WordPress), так как на многих сайтах WordPress используется автообновление. Подобные атаки называются **Supply chain attack** (атака на цепочку поставок).

### Supply chain attack (атака на цепочку поставок)

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

Для этого в индустрии программного обеспечения используют шифрование с открытым/закрытым ключом: разработчик публикует информацию об обновлении и подписывает ее, используя свой закрытый ключ. В локальном экземпляре Joomla хранится копия открытого ключа, что позволяет проверить эту подпись. Если информация об обновлении или подпись были изменены, проверка завершится неудачей. И если эта информация об обновлении также включает в себя хеш-сумму («отпечаток пальца» для файла) фактического пакета обновления, программное обеспечение также может проверить, что фактически загруженный пакет является исходным файлом и не был изменен.

 ![](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/1.webp)Один и вариантов реализации TUF. Из статьи "Как устроен The Update Framework (TUF). Обзор технологии безопасного обновления ПО".

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

TUF решает [широкий спектр различных проблем](https://theupdateframework.io/security/) , а также позволяет проекту Joomla безопасно добавлять и удалять авторизованные ключи подписи в будущем. Это стратегическое решение в плане безопасности Joomla на долгие годы вперед.

![](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/2.webp)

Для разработчиков расширений Joomla ничего пока что не меняется. TUF поддерживается только для обновлений ядра Joomla.

## Тёмная тема панели администратора Joomla 5

Тёмная тема админки появилась в Joomla 5, однако, практически сразу стали возникать пожелания к улучшению. В частности, не хватало переключателя между тёмной и светлой темой, что решалось дополнительными модулями для панели управления.

Тёмная тема в Joomla 5.0.2:

![Тёмная тема в Joomla 5.0.2](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/3.webp)

Тёмная тема в Joomla 5.1:

![Тёмная тема в Joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/4.webp)

В настройках стиля шаблона панели администратора Joomla 5 - Atum появились настройка для выбора темы по умолчанию. Для этого пройдите в Система - Стили панели управления - Atum - вкладка "Параметры цвета".

![Параметры шаблона atum в Joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/5.webp)

Туда нужно зайти и просто сохранить параметры. Тогда переключатель темы появится в выпадающем меню админки "Мой профиль".

До сохранения параметров шаблона Atum:

![До сохранения параметров шаблона Atum](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/6.webp)

После сохранения появляется пункт "Переключить тему шаблона".

![После сохранения появляется пункт Переключить тему шаблона joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/7.webp)

## Приветственный (Welcome) обучающий тур

Для новых установок Joomla создан приветственный тур, который призван познакомить новичков с основными разделами админки.

![Приветственный (Welcome) обучающий тур Joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/8.webp)

За 6 шагов Joomla, конечно, не изучишь. Да и подавляющему большинству опытных пользователей это не нужно. Но тем, кто впервые окажется в адмнке, возможно окажется полезным. Подобные туры встречаются и в других движках, например, в Moodle. В целом это напоминание о том, что в Joomla есть такой функционал и его можно использовать для обучения новых пользователей админки. Ну и создание доброжелательной атмосферы ))

В сам процесс создания туров добавлена поддержка `checkbox`, `radio`, `select` в качестве целей для элемента тура.

## Настройки SEO в Joomla 5.1

2 новых функции были добавлены в плагин SEF. Одна из них связана с `index.php` в url, вторая - с повторяющимися слешами в конце адреса.

 ![Плагин SEF в Joomla](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/9.webp)Плагин SEF в Joomla

Обычно эти проблемы решаются настройками в файле `.htaccess`. Но теперь добавили этот функционал в админку.

### Как убрать index.php из url адреса в Joomla 5.1+?

Обычно эта проблема появляется из-за того, что после установки не был включён параметр "Перенаправлять URL" в общих настройках, также не был переименован `htaccess.txt` в `.htaccess` для сервера Apache. Обычно этих двух действий вполне достаточно. Но в том случае, если под действием чёрной магии `index.php` из адреса не убирается - можно включить параметр в плагине SEF. Как сообщает подсказка к опции "Использование параметра невозможно, если в общих настройках сайта для параметра **Перенаправлять URL** установлено значение **Нет**."

### Как убрать слеши в конце URL в Joomla 5.1+?

![Настройки плагина SEF в Joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/10.webp)

Другой полезной опцией плагина SEF стал параметр "Конечная косая черта в URL". У него есть 3 возможных значения: "без изменений", "принудительно включать в конце" и "принудительно исключать в конце". Также обычно это решается правилами в `.htaccess`, но возможно кому-то окажется полезным.

Также, в общих настройках Joomla добавлено уведомление о том, что эти настройки существуют и находятся в плагине **Система - SEF**.

![уведомление о том, что эти настройки существуют и находятся в плагине Система - SEF в Joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/11.webp)

## Добавлены два новых плагина для Schema.org: Custom и Article

В целом нужно напомнить о том, что в Joomla 5 появился новый тип плагинов - `schemaorg`. Работают они вкупе с плагином `Система - Schema.org`.

![Плагины типы schema org в Joomla 5](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/12.webp)

Из коробки Joomla имеет возможность указывать микроразметку Schema.org в формате `json+ld`. Для этого базовые настройки указываются в системном плагине, а плагины типов добавляют настройки в компоненты материалов и контактов. Добавлен тип [Schema.org/Article](https://schema.org/Article), а также тип **Custom** (в названии PR он значился как Generic, но потом переименовали в Custom). При выборе этого типа появляется поле, где можно вручную указать нужный JSON-код микроразметки.

![плагин schema org custom схема joomla 5](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/13.webp)

### Полный список плагинов микроразметки Schema.org в Joomla 5.1

- **Schema.org - Article** - [https://schema.org/Article](https://schema.org/Article)
- **Schema.org - Custom** - для использования схем, отсутствующих в ядре Joomla
- **Schema.org - BlogPosting** - [https://schema.org/BlogPosting](https://schema.org/BlogPosting)
- **Schema.org - Book** - [https://schema.org/Book](https://schema.org/Book)
- **Schema.org - Event** - [https://schema.org/Event](https://schema.org/Event)
- **Schema.org - Organization** - [https://schema.org/Organization](https://schema.org/Organization)
- **Schema.org - Person** - [https://schema.org/Person](https://schema.org/Person)
- **Schema.org - Recipe** - [https://schema.org/Recipe](https://schema.org/Recipe)
- **Schema.org - JobPosting** - [https://schema.org/JobPosting](https://schema.org/JobPosting)

## Улучшение версии сайта для слабовидящих в Joomla

Плагин версии для слабовидящих появился ещё в Joomla 4. Он соответствует требованиям [WCAG](https://wcag.com/) - международным рекомендациям для обеспечения доступности контента в интернете. Аналогом их является [ГОСТ Р 52872-2019 "Интернет-ресурсы и другая информация, представленная в электронно-цифровой форме. Приложения для стационарных и мобильных устройств, иные пользовательские интерфейсы. Требования доступности для людей с инвалидностью и других лиц с ограничениями жизнедеятельности"](https://www.rst.gov.ru/portal/gost/home/standarts/catalognational?portal:componentId=3503536e-2ac1-4753-8ed1-09a92fee02de&portal:isSecure=false&portal:portletMode=view&navigationalstate=JBPNS_rO0ABXc6AAZhY3Rpb24AAAABABBjb25jcmV0ZURvY3VtZW50AAZkb2NfaWQAAAABAAU0Mzg2MQAHX19FT0ZfXw**) (бывший ГОСТ Р 52872-2012).

 ![Выдержка из госта для слабовидящих](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/14.webp)Взято отсюда: [https://internet-law.ru/gosts/gost/71634/](https://internet-law.ru/gosts/gost/71634/)

Улучшения версии для слабовидящих касаются инструмента проверки контента на доступность (в материалах). Он позволяет обнаруживать и исправлять проблемы с доступностью, такие как проблемы с цветовым контрастом, отсутствующие теги и т.д.

![инструмент проверки доступности контента для слабовидящих в Joomla 5](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/15.webp)

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

![параметры плагина для слабовидящих в Joomla 5](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/16.webp)

## Замена Bootstrap modal на dialog

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

![joomla bootstrap dialog web component](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/17.webp)

Ранее писал статью[Создание пользовательского типа поля Form в Joomla 5 на примере Modal Select](https://web-tolk.ru/blog/index.php?option=com_content&view=article&id=87:sozdanie-polzovatelskogo-tipa-polya-form-v-joomla-5-na-primere-modal-select&catid=10:blog&lang=ru-RU&Itemid=114), в которой описывается работа с новым типом диалоговых окон в Joomla 5.

## Улучшение CLI

### Команда проверки обновлений расширений Joomla

Для команды `php cli\joomla.php update:extensions:check` был добавлен расширенный вывод информации об обновлениях расширений в CLI.

![joomla 5 cli update plugin](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/18.webp)

### Добавлен выбор источника обновлений ядра через CLI

Joomla позволяет проводить обновление ядра через CLI, однако при этом использовались настройки компонента `com_joomlaupdate`. Теперь в команду обновления CLI добавили возможность выбора сервера обновлений `default`, `next`, `testing` или `custom`. В случае если указан `custom`, то также нужно указать параметр `--url=<url>` со ссылкой на xml-манифест обновлений ядра. [Подробнее в PR #42597](https://github.com/joomla/joomla-cms/pull/42597).

## Добавлено новый триггер для плагинов onAfterInitialiseRouter

Joomla позволяет изменять роутинг (построение URL), добавляя к нему правила. До сих пор часто это делалось с помощью плагина и добавления этих правил на событии `onAfterInitialise`. Однако это создает проблему, когда мы не находимся в приложении `SiteApplication` и хотим создать ссылку, поскольку роутер может быть создан неправильно. Достаточно часто плагины проверяют, является ли текущее приложение приложением `SiteApplication`, и если нет, то они не реагируют. Однако это означает, что когда вы находитесь в серверной части и создаете ссылку на фронтенд, например, для e-mail рассылки, URL-адрес может быть неправильным, потому что плагины с пользовательским поведением не привязывали это поведение к роутеру, поскольку они думали, что находятся в неправильном контексте.

В Joomla 5.1 добавлено новое событие `onAfterInitialiseRouter`. Это событие запускается каждый раз при создании объекта роутера (которое должно выполняться только один раз для каждой инициализации) и позволяет плагинам добавлять свою логику независимо от текущего запущенного приложения и, в частности, независимо от того, когда был создан объект. [Подробнее в PR #42692](https://github.com/joomla/joomla-cms/pull/42692).

## Увеличение "ёмкости" полей типа subform

При создании дочерних форм (subform) в пользовательских полях для материалов, контактов и т.д. часто в них помещались разного рода таблички, которые удобно таким образом заполнять. Joomla сохраняет данные сабформы в json и помещает в базу данных. Казалось бы всё хорошо, но тип поля `value` в таблице `#_fields_values` был `text`. В него помещалось довольно много информации на латинице, но довольно немного на кириллице, так как кириллица переводится в unicode. И для того же объёма текста объём сохраняемых данных увеличивается раз в 5. Так слово `текст` в формате unicode escape выглядит как `\u0442\u0435\u043A\u0441\u0442`. Поэтому большие формы на русском языке не умещались в базу данных. Вебмастера обычно вручную изменяли тип поля в базе данных с `text` на `mediumtext`. Но теперь это изменение пришло в ядро.

## Валидация полей Joomla Form с помощью регулярных выражений

Набор классов validation rules можно посмотреть в `libraries/src/Form/Rule`. Эти правила указываются в xml-формах и позволяют выполнять проверки в процессе сохранения данных. Теперь добавлена такая возможность - указывать регулярки для проверки значений полей. [Подробнее в PR #42657](https://github.com/joomla/joomla-cms/pull/42657).

## Обновление FontAwesome и TinyMCE

Теперь в составе ядра TinyMCE 6.8.3 и FontAwesome 6.5.1.

## Полный список изменений

Полный список [доступен на GitHub](https://github.com/joomla/joomla-cms/milestone/110?closed=1). Он содержит в себе 247 принятых Pull Requests. Из них 69 с лейблом `Feature` - новый функционал самого разного масштаба.

Также почитать о нововведениях в Joomla 5.1 можно в официальном журнале международного Joomla-сообщества - Joomla Community Magazine: [What's new in Joomla 5.1?](https://magazine.joomla.org/all-issues/april-2024/what-s-new-in-joomla-5-1-1).

![Вышла Joomla 5.1](https://web-tolk.ru/blog/images/blog/chto-novogo-v-joomla-5-1/19.webp)

- [Публикация на Хабре](https://habr.com/ru/articles/809491/)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Что нового в joomla 5.1?"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/chto-novogo-v-joomla-5-1",
            "name": "Что нового в joomla 5.1? - WebTolk",
            "description": "16 апреля 2024 года вышли релизы Joomla 5.1 и Joomla 4.4.4. Если Joomla 4.x уже находится в режиме поддержки и получает только \"заплатки\", то в каждом выпуске J",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/88",
            "name": "Что нового в joomla 5.1?",
            "headline": "Что нового в joomla 5.1?",
            "inLanguage": "ru-RU",
            "author": {
                "@type": "Person",
                "name": "Сергей Толкачев"
            },
            "thumbnailUrl": "images/blog/chto-novogo-v-joomla-5-1/header-1920x1080.webp",
            "image": "images/blog/chto-novogo-v-joomla-5-1/header-1920x1080.webp",
            "dateModified": "2024-06-03T00:00:00+00:00",
            "interactionStatistic": {
                "@type": "InteractionCounter",
                "userInteractionCount": 1489
            },
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
