Публикации, статьи от веб-студии Webtend. Блог веб-мастера Алексея Блохина

Новые функции релиза CMS Joomla 3.9

На днях состоялся релиз Joomla 3.9. В новой версии CMS внесено более 250 исправлений и добавлено несколько новых полезных функций, о которых пойдет речь в данной статье.

Что нового в Joomla 3.9?

  • Инструменты конфиденциальности: автоматизирована работа по сбору согласий с политикой конфиденциальности, простая настройка всех форм, где требуется запросить согласие, прежде чем собирать какие-либо личные данные, есть возможность установить срок действия согласия на конфиденциальность, также добавлена возможность отслеживать согласие пользователей, управлять изменениями политики и другие полезные функции;
  • Добавлена возможность добавлять примечания к статьям и использовать их как фильтр в административной части сайта;
  • Добавлена функция поиска статей по их содержимому в админ-панели сайта;
  • Реализована возможность добавления модуля в статью по его идентификатору;
  • Новые параметры для настраиваемых полей - теперь доступно повторяемое настраиваемое поле, а также создание альтернативных макетов в соответствии с Вашими потребностями;
  • Добавлена возможность выбора изображения (интро или полного) в модуле новостей, а также возможность вывода статей только определённого автора в модуле материалов;
  • Добавлена возможность отображать теги на основе настройки языкового фильтра, т.е. выводить только теги на определённом языке;
  • Новые функции для многоязычных сайтов, например, добавлена кнопка на панели инструментов для редактирования ассоциаций, а также реализована возможность распространения существующих ассоциаций;
  • Реализована возможность использовать Google Invisible reCaptcha с помощью отдельного плагина;
    Для паролей добавлена поддержка Argon2id;
  • И другие улучшения (их более 250!).

Описание: https://www.joomla.org/announcements/release-news/5748-the-privacy-tool-suite-by-joomla-joomla-3-9-is-here.html

Набор инструментов политики конфиденциальности

По законодательству нужно информировать пользователя о собираемой сайтом информации и требовать его согласие на этот сбор.

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


В админке вы можете найти новый плагин Privacy Consent, в настройках которого можно задать текст политики конфиденциальности:

Настройки плагина Privacy Consent

Здесь можно ввести краткий текст, выбрать статью, содержащую полный текст, ввести текст сообщения о необходимости согласия с политикой.

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

Настройки времени действия согласия с политикой конфиденциальности

Кроме того, не забудьте опубликовать этот плагин. По умолчанию он выключен.

Если все сделано правильно, то, например, форма регистрации будет выглядеть так:

Форма регистрации с политикой конфиденциальности

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

Также в админке появился раздел «Конфиденциальность». Он доступен в меню «Пользователи». Здесь можно контролировать всё, что связано с этой новой функцией, а также просматривать пользователей, которые подтвердили свое согласие с политикой.

 раздел Конфиденциальность

Если вы не планируете использовать данный функционал на сайте, не забудьте отключить все плагины, которые с ним связаны, чтобы не создавать лишнюю нагрузку на сервер:

Плагины конфиденциальности

Менеджер действий пользователей

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

Вы можете найти этот журнал в админке, в разделе меню Пользователи.

Журнал действий пользователя

В журнал записываются все типовые действия всех авторизованных пользователей. Есть возможность быстрой очистки журнала, поиска по журналу, экспорта данных в CSV.

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

В общих настройках вы можете выбрать список событий, которые будут записываться в журнал, а также включить запись IP-адресов пользователей.

Если посещаемость вашего сайта велика, то журнал будет наполняться очень быстро, будет переполнятся база данных. Нужно очищать его. Если вам это не нужно - отключите плагин через Менеджер плагинов.

Добавлены примечания для статей Joomla

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

В материале вы можете заполнить поле примечания:

Поле примечания в материале

А затем вы увидите это примечание в списке материалов:

Примечание в списке материалов

Поиск в админке по содержимому статей

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

Поиск по контенту не работает по умолчанию. Чтобы искать в содержимом статьи, вам нужно использовать в поиске конструкцию:

CONTENT: Текст запроса

Аналогично это сделано и для поиска по автору и по ID:

AUTHOR: Текст запроса

ID: Текст запроса

Поиск в админке по содержимому статей

Если забудете эти ключи, они появляются во всплывающей подсказке при активации поля поиска.

Загрузка модуля в статью по его ID

В Joomla можно вставлять модули в материалы. Для этого используется конструкции:

{ loadposition }

Или

{ loadmodule }

Оба варианта имеют недостатки: loadposition загружает все модули из определенной позиции, а loadmodule загружает отдельный модуль, но только если он создан в единственном экземпляре. Так, например, если у вас есть два модуля одного типа, то воспользоваться этим вариантом уже не получится.

В Joomla 3.9 появилась новая конструкция для вставки модуля в статью. Теперь мы можем вставить строго определенный модуль, указав его ID. Для этого используется конструкция:

*В примере кода введены лишние пробела после и перед { }

{ loadmoduleid ID-модуля}

Например:

{ loadmoduleid 80 }

Если вы используете стандартный редактор Joomla TinyMCE, то всё еще  проще. Вы можете использовать кнопку Модуль:

Кнопка Модуль

и далее выбрать нужный вам модуль во всплывающем окне:

Загрузка модуля в статью по его ID

Новое дополнительное поле Repeatable

У настраиваемых полей был недостаток. С их помощью нельзя было организовать ввод информации, количество которой заранее неизвестно.

Проще всего объяснить это на примере. Предположим, вы хотите добавить к статье дополнительные изображения в конце (или слайдер изображений). У разных статей количество дополнительных изображений может отличаться. Другими словами, к одной статье нужно добавить 3 изображения, а к другой 5.

Новое поле Repeatable, появившееся в Joomla 3.9, как раз призвано решить эту проблему.

Сначала создаем новое поле и задаем у него в настройках другие поля для изображения и текста:

Создание поля Repeatable

Теперь, очень удобным способом мы можем добавить всю необходимую информацию к статье:

Заполнение поля Repeatable в статье

Видим введенные данные:

Отображение поля Repeatable

Используя полученные данные, вы можете оформить дополнительные изображения так, как только пожелаете.

Возможность создания альтернативных макетов для дополнительных полей

В Joomla 3.9 появилась возможность создания альтернативных макетов для настраиваемых полей.

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

Как это работает в действии.

1) Копируем файл:

/components/com_fields/layouts/field/render.php

В используемый шаблон Joomla:

/templates/ВАШ_ШАБЛОН/html/layouts/com_fields/field

Или:

/templates/ ВАШ_ШАБЛОН /html/layouts/com_content/field

Почему два разных варианта? Дело в том, что макет дополнительного поля может быть переопределен на уровне как компонента полей, так и компонента контента.

Используем первый вариант.

2) Переименовываем скопированный файл render.php так, чтобы было понятно, для чего нужен новый макет (имя файла не должно содержать нижнего подчеркивания!).

Например в gallery.php.

Таким образом, имеем новый файл:

/templates/ВАШ_ШАБЛОН/html/layouts/com_fields/field/gallery.php

3) Вносим в новый файл изменения так, как это нужно для оформления галереи.

4) В настройках дополнительного поля Repeatable выбираем альтернативный макет gallery

Альтернативный макет gallery

Смотрим:

Галерея на сайте

Возможность показать уменьшенное или полное изображение в модуле новостей

В Joomla 3.9 разработчики добавили в модуль новостей кнопку, позволяющую выводить уменьшенное или полное изображение для материалов:

Кнопка, позволяющая выводить уменьшенное или полное изображение для материалов

Теперь использовать прием из статьи необязательно.

Возможность показывать статьи только определенного автора в модуле последних новостей

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

Выбор автора

Создание контента с фильтрами в меню панели управления

Создание контента с фильтрами в меню панели управления

Особенно полезно это нововведение будет тем, у кого сайт с большим количеством категорий, на котором приходится часто работать с разными материалами. Создав один раз такое пользовательское меню, можно экономить время на поиск нужного материала.

Убраны параметры &limitstart=0 и &start=0 в пагинации

Есть в Joomla 3.9 и решение нескольких вопросов SEO-оптимизации.

Если у вас на сайте есть разбиение на страницы (пагинация), то теперь при возвращении на первую страницу к URL в пагинации не добавляются параметры &limitstart=0 и &start=0. Тем самым не создаются дубли первых страниц.

Раньше приходилось делать 301 редиректы типа:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^limitstart=0
RewriteRule ^(.*)$ /$1? [R=301,L]

RewriteEngine On
RewriteCond %{QUERY_STRING} ^start=0
RewriteRule ^(.*)$ /$1? [R=301,L]

Добавлена поддержка Invisible ReCaptcha

Да, теперь Joomla поддерживает Invisible ReCaptcha. Для тех, кто не в курсе, это новый способ борьбы со спамом от Google.

Вы можете установить Invisible ReCaptcha на форму регистрации или форму обратной связи. Пользователю не придется вводить код с картинки или ставить галочку «Я не робот». Скрипт автоматически проанализирует поведение пользователя и, если поверит, что это человек, то пропустит отправку формы. Ну а если не поверит, то снова придется искать, где на картинке дорожные знаки.

invisible reCAPTCHA - это капча, которая позволяет осуществлять фоновую валидацию действий пользователей на сайте. В отличие от reCAPTCHA v2 она не требует от пользователей того, чтобы они нажимали на флажок (checkbox) "Я не робот". Она вызывается напрямую, т.е. тогда когда пользователь нажимает на существующую кнопку на сайте или программно через вызов JavaScript API.

invisible reCAPTCHA позволяет совершать пользователям на сайте какие-либо действия сразу (без ввода капчи). По умолчанию только самые подозрительные действия пользователей не позволят им пройти дальше. В этом случае invisible reCAPTCHA предложит им решить капчу (т.е. определить действительно ли данную операцию совершает человек, а не робот).

Регистрация домена и получение ключей

  1. Открываем страницу www.google.com/recaptcha/admin (при необходимости выполняем регистрацию и авторизацию на сайте).
  2. Заполняем форму "Регистрация сайта". Указываем название, отмечаем Invisible reCAPTCHA (тип reCAPTCHA), вводим домены (по одному встроке).

Активировать Invisible ReCaptcha можно в настройках  соответствующего плагина через Менеджер плагинов:

Настройки плагина Invisible ReCaptcha

Вам, как обычно, понадобятся ключи, получить которые можно после регистрации на сайте ReCaptcha.

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

Дополнительно - статья на английском языке https://www.joomlashack.com/blog/tutorials/joomla-39/

CMS Joomla

CMS Joomla!

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

Веб-студия WebTend работает исключительно с системой управления контентом CMS Joomla!

Интернет-магазины создаем на CMS Joomla с немецким компонентом электронной коммерции - Joomshopping.

Подробнее о Joomla