На днях состоялся релиз Joomla 3.9. В новой версии CMS внесено более 250 исправлений и добавлено несколько новых полезных функций, о которых пойдет речь в данной статье.
Содержание
- 1. Набор инструментов политики конфиденциальности
- 2. Менеджер действий пользователей
- 3. Добавлены примечания для статей Joomla
- 4. Поиск в админке по содержимому статей
- 5. Загрузка модуля в статью по его ID
- 6. Новое дополнительное поле Repeatable
- 7. Возможность создания альтернативных макетов для дополнительных полей
- 8. Возможность показать уменьшенное или полное изображение в модуле новостей
- 9. Возможность показывать статьи только определенного автора в модуле последних новостей
- 10. Создание контента с фильтрами в меню панели управления
- 11. Убраны параметры &limitstart=0 и &start=0 в пагинации
- 12. Добавлена поддержка Invisible ReCaptcha
- Заключение
Ниже я перечислил новые функции Joomla 3.9, которые показались мне основными и наиболее интересными.
На рисунках некоторые поля не переведены на русский язык, т.к. обновленная локализация еще не вышла. Но, если с момента публикации этой статьи прошло несколько недель, то можете быть уверены, что уже всё переведено.
1. Набор инструментов политики конфиденциальности
К сожалению, а может и к счастью, правительства разных стран стараются законодательно регулировать защиту персональных данных пользователей. Для владельцев сайтов это создает дополнительные проблемы – так или иначе, нужно информировать пользователя о собираемой сайтом информации и требовать его согласие на этот сбор.
Думаю, многие из вас уже видели на сайтах окна с политикой конфиденциальности и требованием ее подтверждения. Теперь в Joomla подобный механизм доступен из коробки.
Вы можете настроить функционал согласия с политикой конфиденциальности для всех основных форм Joomla. Думаю, что наиболее интересным он может быть для формы регистрации.
В админке вы можете найти новый плагин Privacy Consent, в настройках которого можно задать текст политики конфиденциальности:
Здесь можно ввести краткий текст, выбрать статью, содержащую полный текст, ввести текст сообщения о необходимости согласия с политикой.
На вкладке Истечение вы можете задать настройки времени действия согласия с политикой, после истечения которого пользователю вновь будет предложено дать согласие:
Кроме того, не забудьте опубликовать этот плагин. По умолчанию он выключен.
Если все сделано правильно, то, например, форма регистрации будет выглядеть так:
Т.е. будет требоваться согласие с политикой конфиденциальности, полный текст которой будет показан во всплывающем окне при клике на ссылку.
Также в админке появился раздел «Конфиденциальность». Он доступен в меню «Пользователи». Здесь можно контролировать всё, что связано с этой новой функцией, а также просматривать пользователей, которые подтвердили свое согласие с политикой.
Также хочу отметить, что если вы не планируете использовать данный функционал на сайте, не забудьте отключить все плагины, которые с ним связаны, чтобы не создавать лишнюю нагрузку на сервер:
2. Менеджер действий пользователей
Благодаря внедрению функционала политики конфиденциальности, у Joomla 3.9 появилась возможность хранить больше пользовательской информации. Теперь нам доступен такой инструмент, как журнал действий пользователя.
Вы можете найти этот журнал в админке, в разделе меню Пользователи.
В журнал записываются все типовые действия всех авторизованных пользователей. Есть возможность быстрой отчистки журнала, поиска по журналу, экспорта данных в CSV.
Данный функционал особенно полезен, когда над сайтом работает одновременно несколько человек с разными уровнями доступа. Администратор теперь может все контролировать в удобном виде.
В общих настройках вы можете выбрать список событий, которые будут записываться в журнал, а также включить запись IP-адресов пользователей.
Не забывайте о том, что если посещаемость вашего сайта велика, то журнал будет наполняться очень быстро. Нужно периодически отчищать его.
3. Добавлены примечания для статей Joomla
В Joomla 3.9 в материалах появилось дополнительное поле для примечаний. Оно аналогично примечаниям для пользователей, которые уже были добавлены в прошлых версиях.
В материале вы можете заполнить поле примечания:
А затем вы увидите это примечание в списке материалов (правда пока оформление оставляет желать лучшего):
Довольно скучная функция, но кому-то может очень пригодиться.
4. Поиск в админке по содержимому статей
На мой взгляд, очень полезная функция для всех. В админке, в менеджере статей, теперь вы можете искать не только по названию статьи, но и по ее содержимому, идентификатору, автору.
Это очень удобно, когда вам нужно быстро внести исправление в какую-то статью. Раньше нужно было сначала найти ее поиском на фронтенде, затем скопировать заголовок, затем найти поиском в админке и только потом исправлять.
Начиная с Joomla 3.9, чтобы найти статью, вам достаточно знать хотя бы пару слов из ее содержимого.
Важный момент! Поиск по контенту не работает по умолчанию. Чтобы искать в содержимом статьи, вам нужно использовать в поиске конструкцию:
CONTENT: Текст запроса
Аналогично это сделано и для поиска по автору и по ID:
AUTHOR: Текст запроса
ID: Текст запроса
Не бойтесь, что забудете эти ключи, они появляются во всплывающей подсказке при активации поля поиска.
В русской версии пока ключи в подсказке не появляются, но как только обновят локализацию, их будет видно.
5. Загрузка модуля в статью по его ID
Думаю, что многие знают, что в Joomla можно вставлять модули в материалы. Для этого используется конструкции:
{loadposition}
Или
{loadmodule}
К сожалению, оба варианта имеют недостатки: loadposition загружает все модули из определенной позиции, а loadmodule загружает отдельный модуль, но только если он создан в единственном экземпляре. Так, например, если у вас есть два модуля одного типа, то воспользоваться этим вариантом уже не получится.
В Joomla 3.9 появилась новая конструкция для вставки модуля в статью. Теперь мы можем вставить строго определенный модуль, указав его ID. Для этого используется конструкция:
{loadmoduleid ID-модуля}
Например:
Если вы используете стандартный редактор Joomla TinyMCE, то всё еще проще. Вы можете использовать кнопку Модуль:
и далее выбрать нужный вам модуль во всплывающем окне:
Это удобно.
6. Новое дополнительное поле Repeatable
Лично для меня, это, наверное, самое полезное нововведение. Думаю, его оценят и многие из вас.
С момента, как в Joomla появились настраиваемые поля, с их помощью стало можно решить многие задачи, не прибегая к сторонним расширениям.
Но у настраиваемых полей был один фатальный недостаток. С их помощью нельзя было организовать ввод информации, количество которой заранее неизвестно.
Проще всего объяснить это на примере. Предположим, вы хотите добавить к статье дополнительные изображения в конце (или слайдер изображений). У разных статей количество дополнительных изображений может отличаться. Другими словами, к одной статье нужно добавить 3 изображения, а к другой 5.
Первое, что приходит в голову для решения этой задачи – использовать дополнительные поля. Но хорошенько всё обдумав, понимаешь – нет. Да, можно создать 10 дополнительных полей с типом Медиа, но это костыль. И к тому же, что делать, если нужно выводить не только изображение, но и подпись к нему? Или, например, требуется возможность задавать атрибут ALT для каждого изображения отдельно. Создавать еще 10 текстовых полей? Это не дело.
Новое поле Repeatable, появившееся в Joomla 3.9, как раз призвано решить эту проблему.
Давайте посмотрим, как решается с его помощью описанная выше задача создания блока дополнительных изображений.
Сначала создаем новое поле и задаем у него в настройках другие поля для изображения и текста:
Теперь, очень удобным способом мы можем добавить всю необходимую информацию к статье:
И на сайте, в статье, видим введенные данные:
Вы скажете, что изображение не вывелось, как предполагалось. Всё правильно. Вывелся путь к изображению. Всё остальное – это уже просто вопрос оформления. Используя полученные данные, вы можете оформить дополнительные изображения так, как только пожелаете. А используя еще и следующую новую функцию, вы получите в Joomla непревзойденную гибкость в работе с дополнительными полями.
7. Возможность создания альтернативных макетов для дополнительных полей
В пункте выше мы познакомились с новым дополнительным полем Repeatable. В нем прекрасно всё, кроме одного – результат вывода значений представлен в виде текста.
Эту проблему можно решить путем создания альтернативного макета Joomla для статьи. Но если вам требуется использовать это (или любое другое) поле для разных задач, то создавать разные альтернативные макеты материалов и постоянно выбирать правильный, становиться не очень весело.
В 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
И вуаля! Смотрим, как теперь выглядит галерея на сайте:
8. Возможность показать уменьшенное или полное изображение в модуле новостей
Кто-то из вас может быть помнит статью про добавление изображений в стандартный модуль новостей Joomla. Тогда в ней я описывал прием, позволяющий добавить изображения в модуль материалов Joomla.
В Joomla 3.9 разработчики добавили в модуль новостей кнопку, позволяющую выводить уменьшенное или полное изображение для материалов:
Так что теперь использовать прием из статьи необязательно.
9. Возможность показывать статьи только определенного автора в модуле последних новостей
Также немного улучшен модуль Последние новости. Теперь в нем появилась возможность выбирать автора, материалы которого будут показаны.
Мелочь, а приятно.
10. Создание контента с фильтрами в меню панели управления
Достаточно сложно описать эту функцию. Она даже для меня закопана очень и очень глубоко. Лучше покажу на картинке:
Заметили, что в меню Материалы появился новый пункт Статьи блога? Этот пункт создал я. Нет никаких хаков. Только манипуляции с настройками Joomla.
Подробно писать о том, как это делается, я сейчас не буду – этот вопрос тянет на отдельную статью. Но что теперь можно сделать, так это создать подобные фильтры в меню панели управления для быстрого и удобного доступа к группам материалов.
Особенно полезно это нововведение будет тем, у кого сайт с большим количеством категорий, на котором приходится часто работать с разными материалами. Создав один раз такое пользовательское меню, можно экономить время на поиск нужного материала.
11. Убраны параметры &limitstart=0 и &start=0 в пагинации
Есть в Joomla 3.9 и щепотка SEO-оптимизации. Хотя это, скорее, исправление прошлых недочетов.
Если у вас на сайте есть разбиение на страницы (или, как это еще называется, пагинация), то теперь при возвращении на первую страницу к URL в пагинации не добавляются параметры &limitstart=0 и &start=0. Тем самым не создаются дубли первых страниц.
Хотя, как по мне, этот фикс не слишком уж и полезен. Правильное оформление пагинации, с использованием next и prev, в Joomla по-прежнему отсутствует.
12. Добавлена поддержка Invisible ReCaptcha
Да, теперь Joomla поддерживает Invisible ReCaptcha. Для тех, кто не в курсе, это новый способ борьбы со спамом от Google.
Вы можете установить Invisible ReCaptcha на форму регистрации или форму обратной связи. Пользователю не придется вводить код с картинки или ставить галочку «Я не робот». Скрипт автоматически проанализирует поведение пользователя и, если поверит, что это человек, то пропустит отправку формы. Ну а если не поверит, то снова придется искать, где на картинке дорожные знаки.
Активировать Invisible ReCaptcha можно в настройках соответствующего плагина:
Вам, как обычно, понадобятся ключи, получить которые можно после регистрации на сайте ReCaptcha.
Заключение
На мой взгляд, Joomla 3.9 получилась хорошей. Нововведения, которые в ней добавлены, пусть и небольшие, зато очень облегчают жизнь.
Выше я описал только функции, которые показались мне наиболее интересными. Есть и множество других. Они могут быть не заметны на первый взгляд, но обязательно придут вам на помощь, когда это потребуются.
Статья про настраиваемые поля здесь: https://wedal.ru/uroki-joomla/joomla-custom-fields-nastraivaemye-polya-v-joomla.html
Как всегда, понятно и полезно: и мне, разработчику, и начинающим.
Так держать!
Меня заинтересовала возможность создания мини-галереи с помощью полей. По моему бесплатных аналогов этому не существовало до сих пор. Может быть, я ошибаюсь.
Подскажите, пожалуйста, по этому абзацу:
"Таким образом, имеем новый файл:
/templates/ВАШ_ШАБЛОН/html/layouts/com_fields/field/gallery.php
3) Вносим в новый файл изменения так, как это нужно для оформления галереи."
Как Вы так быстро преобразовали список файлов (картинок) в галерею??? Где про это почитать можно (преобразование с помощью php)?
Конечно, хочется сделать на вроде как на сайте адм. Липецкой области - http://admlip.ru/news/masshtabnyy_festival_gto_sredi_trudovykh_kollektivov_zavershitsya_bitvoy_v_atlante/
Ну хотя бы просто для пользователей облегчить работу по подгрузке фоток в галерею материала...
И, если можно, еще 2 вопроса: можно ли с помощью полей добавлять файлы к материалу (делать вложения)? Просто хочется по минимуму использовать сторонние расширения, от которых часто проблемы ловятся.
И можно ли на Joomla в свете последних событий (санкции, контрсанкции, зарубежное ПО и т.п.) создать сайт для администрации района (ОМСУ)?
Всё, что я описал выше, требует некоторых навыков программирования, но совсем небольших.
Насчет аналогичной загрузки не изображений, а файлов, пока, увы, это не работает. Хотя это было бы очень полезно. В поле Repeatable вы можете добавить поле типа Media, но, как я понял, оно работает только с изображениями, но не файлами.
Если вам нужен этот функционал, то лучше обратиться к SEBLOD. Это будет бесплатно и из коробки. И хотя разобраться с SEBLOD гораздо труднее, чем с Joomla, возможности там несравнимо шире.
Насчет использования Joomla для сайта администрации - да. Я видел много сайтов гос. учреждений, использующих Joomla. Joomla - CMS с открытым кодом, распространяющаяся по лицензии GPL. Запретить ее использовать, это как запретить использовать Linux. Другой вопрос - что часто начальники, отвечающие в таких учреждениях за IT, выбирают Bitrix. Почему? Потому что за него нужно платить. Раз нужно платить, значит, в случае чего, будет на кого показать пальцем. Да и зачем брать бесплатное - не свои же деньги тратят... Примерно в таком ключе принимаются решения в бюджетных организациях. К сожалению, сталкивался с этим на практике.
Большое спасибо!
Сейчас как раз читаю Ваши статьи по работе с шаблоном Bootstrap. Может быть, соединю знания по полям и шаблону)). Что-то сколько ни искал шаблон для ОМСУ - по душе ничего нет (из бесплатного)). Попробую по Вашим статьям на Bootstrap что-нибудь замутить.
Извиняюсь за, возможно, не очень умный вопрос: а код Bootstrap карусели
.......
просто вставить в полученный файл gallery.php??
И по поводу вложений в материалы. В настоящее время на нашем сайте на Joomla 1.5 (я делал в 2009 г. - с тех пор многое изменилось, трудно мне сейчас "въехать" в Joomla 3.9, Bootstrap)) мы используем компонент Attachments (ссылка - https://extensions.joomla.org/extensions/extension/directory-a-documentation/downloads/attachments/). Хочется сделать новый сайт на Joomla 3.9 с шаблоном Bootstrap. Не посоветуете ли Вы замену компоненту Attachments для вложений в материалы?
Если вы просто вставите код карусели в макет, то она будет всегда показывать одинаковые изображения. Вам нужно подставить в изображения пути src из переменных PHP. Вы можете посмотреть как это сделано в моем модуле карусели:
https://wedal.ru/rasshireniya-joomla/wedal-joomla-slider-v1-1-besplatnyj-modul-slajdshou-dlya-joomla-ot-wedal-ru-obnovlenie.html
Вложения вы можете делать с помощью редактора JCE. В нем очень удобно загружать файлы и делать на них ссылки. Т.е. просто в конце статьи добавляете ссылку и загружаете на сервер файл прямо через редактор.
Вы меня уж извините. Я спустя огромное количество времени вернулся к вопросу преобразования списка файлов (картинок) в галерею.
Никак не пойму какой все-таки код в переименованный файл render.php (теперь gallery.php) вставить...
Как я делаю на этот раз:
1) в шаблоне материала в нужном месте пишу
2) появляется список images/1.imgimages/2.imgimages/3.img
3) делаю переопределение лайаута, копирую папку com_field в свой шаблон. В настройках указываю новый шаблон
4) на этом затык. Можете поделиться вашим файлом? не пойму как с ним работать что в нем править чтобы хотяб добавить те самые простые теги
Буду огромно благодарен
Только обновился до 3ю9
Пока сам честно говоря не копал
перестали сохраняться материалы
в строке навигации видно что урл без имени домена
то есть вообще выбрасывает по нажатию "сохранить" в белый лист
Что это?
Спасибо
https://wedal.ru/forum/oshibki-i-reshenie-problem/6041-oshibka-pri-obnovdenii-joomla-do-3-9-0.html
Попробуйте вариант, описанный в теме, в качестве решения.
сначала регистрация, после подтверждение по почте и далее при первом входе в учетную запись выводится окно которое по факту говорит о регистрации заново но уже с пунктом согласия с персональными данными. возможно виноват модуль Виртуемарт.
VM Framework Loader during Plugin Updates
В нем есть опция Redirect Joomla to VirtueMart registration. Ее нужно отключить.
Подскажите пожалуйста как добавить тип поля JCE File Browser (media) в повторяемую форму repeatable
1) Добавить материал с повторяемым полем
2) Добавить нужное количество повторений и сохранить, не заполняя поля
3) После сохранения, возможно, заработают скрипты и файловый браузер будет подгружаться.