Обзоры расширений Joomla

  • Тип – компонент Джумла для создания доп. полей материалов.

 

 

Поля (com_fields) – это русскоязычный бесплатный компонент Joomla, который является её частью с версии 3.7 и позволяет создавать дополнительные поля разных типов для стандартных материалов, пользователей, контактов и т.д. Поля позволяют стандартизировать отображение информации на страницах. Если установить специальный модуль, будет возможно фильтровать объекты на основании полей.

По сути, Поля позволяют создать при помощи обычных материалов некий «мини-каталог». Безусловно, штатных средств Джумла может не хватить для создания полноценного сайта каталога, по сравнению со специализированными расширениями типа DJ-Catalog2, DJ-Classifieds и RSDirectory. Но и с такими возможностями это полезное расширение.

В каталоге расширений Joomla есть несколько платных и бесплатных модулей фильтрации, например, JL Content Fields Filter и CFS - Custom field search. Они позволят фильтровать материалы Joomla по аналогии с товарами интернет-магазина VirtueMart.

В обзоре будет участвовать последняя, на момент написания статьи (09.06.2018), русскоязычная версия Joomla 3.8.8 на примере стандартного менеджера материалов (com_content). Шаблон фронтальной части сайта – JM Job Listings 1.0.6. В качестве модуля фильтрации используется JL Content Fields Filter 1.5.0.

Видео обзор

В данном видео показаны некоторые моменты, описанные в статье.

  • Зачем нужны поля Joomla – с 00:00:57.
  • Группы полей – с 00:02:10.
  • Общие параметры полей – с 00:06:27.
  • Поле тип «Sql» – с 00:09:43.
  • Поле тип «Url (url)» – с 00:11:11.
  • Поле тип «Группы пользователя (usergrouplist)» – с 00:12:54.
  • Поле тип «Календарь (calendar)» – с 00:14:05.

 

 

Видео лучше просматривать с качеством 720 HD. Этот и другие видео уроки можно найти на каналах сайта Aleksius.com в YouTube, Rutube и Mail.ru.

Зачем нужны поля Joomla

При помощи дополнительных полей можно упростить, структурировать и улучшить внешний вид представляемой на сайте информации. Это можно сделать для:

В бесплатных видео уроках по созданию сайта на Joomla 3 был показан пример разработки сайта пиццерии. На странице с разными видами есть описание ингредиентов каждой пиццы и цена с учётом веса (рисунок ниже). В уроках показано добавление такой «стандартизированной» информации без использования дополнительных полей материалов Joomla. Но с ними было бы удобнее, появилась бы возможность дать пользователям выбор нужной им пиццы при помощи модуля фильтра (даже бесплатного). И для этого нет необходимости прибегать к использованию сторонних расширений типа FLEXIcontent, K2, ZOO и т.д.

Создание сайта на Joomla
Создание сайта на Joomla

Эта же информация есть и на странице с подробным описанием каждой пиццы (рисунок ниже).

Сайт на Joomla
Сайт на Joomla

Также доп. поля Joomla позволят расширить стандартную форму регистрации пользователей и форму контактов. Об этом поговорим в следующей статье. Отмечу, что на данный момент, в плане создания форм, Поля сильно уступают RSForm Pro, но и задача у них иная.

Группы полей

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

Группы полей Joomla
Группы полей Joomla

В примере ниже видно, что несколько полей принадлежат к группе «Joomla», а несколько – к «Создание сайтов». Я создал группы на основании категорий материалов верхнего уровня своего сайта (это не обязательно).

Поля Joomla
Поля Joomla

При добавлении полей к материалам в админке Джумла будут появляться соответствующие вкладки (рисунок ниже). Вкладка Поля содержит все поля, относящиеся к этой категории материалов и не принадлежащие ни к какой группе полей. А вкладка Joomla содержит все поля, относящиеся к этой категории материалов и принадлежащие к созданной мною группе полей «Joomla».

Вкладки с полями в редакторе материала
Вкладки с полями в редакторе материала

Группы полей не взаимосвязаны с категориями материалов. Связь происходит на уровне полей.

Настройки группы дополнительных полей Joomla разделены на 4 вкладки (рисунок ниже).

Настройки групп полей
Настройки групп полей
  1. Основные. Описание, которое Вы тут добавите, появится над полями этой группы полей при их добавлении к материалу.
  2. Параметры публикации.
  3. Параметры. Опция Display When Read-Only (Показывать, когда доступно только для чтения) позволяет отображать/скрывать поле в формах добавления полей, если они доступны только для чтения. Если опция включена, и у пользователя, который добавляет материал, недостаточно прав на изменение значений (заполнений) полей данной группы полей, то поля будут отображаться, но их значения нельзя изменить (они видны только для чтения). На рисунке ниже показан пример добавления материала на сайт из фронтальной части сайта. У пользователя, от имени которого это происходит, нет прав на изменение значений полей, он может только их просмотреть. Права на группу полей настраиваются на 4-й одноимённой вкладке (рисунок выше). По умолчанию, значение опции Display When Read-Only действует на все поля группы, если для них не заданы особые настройки этой опции.
  4. Права. Содержит стандартные для Джумла настройки, позволяющие сконфигурировать права доступа к полю тех или иных групп пользователей к группе полей.
Дополнительные поля Joomla
Дополнительные поля Joomla

Типы полей

На данный момент в Joomla, по умолчанию, пятнадцать типов полей.

Их количество можно сократить путём отключения ненужных типов в менеджере плагинов – тип fields (поля). В настройках некоторых плагинов есть опции, которые действуют по умолчанию на все поля соответствующего типа. Но в настройках каждого поля можно переопределить эти опции.

Также можно добавлять дополнительные типы полей путём установки сторонних плагинов. Их можно найти в каталоге расширений Joomla. Например:

  • Advanced Custom Fields – плагин добавляет ещё 13 типов полей (на 09.06.2018) среди которых: видео с YouTube, Facebook, Vimeo, поле выбора времени, поле выбора валюты, поле выбора страны и другие.
  • Fields – Location – плагин дополнительного поля с картой Google.
  • Fields - Terms of Service – плагин добавления поля с принятием соглашения на обработку персональных данных, правил обслуживания и т.д. Пригодится для соответствия европейскому закону GDPR.
  • Related Articles Custom Field – плагин добавляет поле с возможностью вставки ссылок на схожие материалы.

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

Общие параметры полей

Настройки полей разделены на 4 вкладки (рисунок ниже). Они присущи всем полям, причём не только дополнительным поля материала Joomla, но и полям контактов и так далее.

  1. Основные.
  2. Параметры.
  3. Параметры публикации. Позволяет указать имя пользователя, создавшего данное поле, и просмотреть дополнительную информацию о поле.
  4. Права. Содержит стандартные для Джумла настройки, позволяющие сконфигурировать права доступа к полю тех или иных групп пользователей.
Доп. поля Joomla
Доп. поля Joomla

Вкладка Основные (рисунок выше, верхняя часть).

  • Заголовок. Заголовок поля. Видно только в компоненте управления полями (com_fields). Не отображается при создании/редактировании материала и в самом материале.
  • Тип. Один из 15 типов полей (будет рассмотрено далее).
  • Имя. Аналог алиаса. Можно оставить пустым, оно сгенерируется автоматически. Служит для идентификации поля в системе (для его корректной работы).
  • Название. Название поля. Отображается при создании/редактировании материала и в самом материале. Может совпадать с заголовком.
  • Описание. Текст всплывающей подсказки по наведению на поле при его заполнении (рисунок ниже). Не отображается во фронтальной части сайта.
Всплывающая подсказка поля
Всплывающая подсказка поля
  • Обязательно. Если опция включена, то поле необходимо заполнить перед сохранением материала. Исключение – у поля задано Значение по умолчанию.
  • Значение по умолчанию. Значение, которое будет задано в поле по умолчанию. Его можно сменить. Это может облегчить заполнение большого количества материалов с одинаковыми значениями поля. Обратите внимание, что в полях тип Список (list), Переключатель (radio), Флажки (Checkboxes) в качестве содержимого опции Значение по умолчанию нужно указывать содержимое из Значение, а не из Текст, если они не совпадают (рисунок ниже).
Поля материала Joomla
Поля материала Joomla
  • Группа полей. Группа, к которой принадлежит поле. Группы полей рассмотрены выше в статье. Поле может принадлежать к одной группе или быть без неё.
  • Категория. Категория материалов Joomla, к которой принадлежит поле. Поле может принадлежать к одной, нескольким или всем категориям материалов.

Другие опции на данной вкладке аналогичны одноимённым опциям во всей Джумла.

Вкладка Параметры (рисунок ниже).

  • Текст, отображаемый внутри поля в качестве подсказки. Доступен при создании материала, не виден во фронтальной части сайта.
  • CSS-класс для показа. CSS-класс поля, когда оно отображается заполненное на сайте. Можно указать несколько классов через пробел. Служит для изменения внешнего вида поля. Это будет рассмотрено в следующих статьях.
  • Редактировать класс. CSS-класс поля, когда оно отображается при создании или редактировании материала. Можно указать несколько классов через пробел. Служит для изменения внешнего вида поля. то будет рассмотрено в следующих статьях.
  • Заголовок поля. Позволяет показывать или скрывать название поля во фронтальной части сайта.
Параметры поля
Параметры поля
  • Показать в. Вы можете выбрать, в какой части сайта будет показано поле при добавлении/редактировании материала. Это не влияет на его отображение в самом материале.
  • Display When Read-Only. Опция аналогична одноимённой опции в настройках группы полей, рассмотренной выше в статье. По умолчанию применяется значение из группы полей, но можно это переопределить для каждого поля отдельно.
  • Автоматическое отображение. Вы можете выбрать, в каком месте материала нужно отображать поле:
    • After Title. После заголовка материала, но перед информацией о материале (автор, категория, дата публикации и т.д.).
    • Before Display. Перед основным текстом материала, с учётом изображения полного текста материала, но после информации о материале.
    • After Display. После основного текста материала.
    • Не показывать автоматически. Можно выводить поле в любом месте материала при помощи плагина. Это будет рассмотрено в следующих статьях.

Под основным текстом материала подразумевается содержимое материала без учёта разделения на вступительный и полный текст (инструмент Подробнее… в настройках материала).

На рисунке ниже показан пример отображения поля с вариантами: After Title, Before Display, и After Display. Обратите внимание, что если Вы не выводите информацию о материале или макет страницы вывода материала переделан, то разницу между After Title и Before Display можно не увидеть.

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

Sql

Данный тип поля позволяет создавать выпадающий список (при заполнении поля) с вариантами для выбора на основании составленного Вами запроса к базе данных.

Настройки плагина «Поля - SQL» (рисунок ниже). Можно активировать опцию Мультивыбор, что позволит выбирать несколько вариантов из спадающего списка при его заполнении. Это можно переопределить для каждого поля в отдельности.

Плагин «Поля - SQL»
Плагин «Поля - SQL»

Особые настройки поля тип «Sql» (рисунок ниже).

  • Запрос. SQL-запрос к базе данных. Он должен возвращать два столбца: один называется «value», содержит значения элементов списка; другой называется «text», содержит текст в раскрывающемся списке. Подробнее о синтаксисе можно узнать в официальной документации (на английском языке).
  • Мультивыбор. Опция аналогична одноимённой опции настроек плагина, но может переопределить заданное на уровне плагина значение конкретно для этого поля.
Настройки поля «Sql»
Настройки поля «Sql»

 В моём примере запрос:

SELECT id as value, username as text FROM #__users

выводит список всех зарегистрированных пользователей (логины, не имена) из таблицы «users» базы данных сайта.

На рисунке ниже в верхней части показан пример данного типа поля в материале Joomla при его редактировании, а в нижней – во фронтальной части сайта.

Поле тип «Sql»
Поле тип «Sql»

Url (url)

Данный тип поля позволяет создавать кликабельные ссылки.

Настройки плагина «Поля - URL» (рисунок ниже). Опция Относительно активирует возможность использования относительных ссылок (без указания домена). Данная опция может быть переопределена в настройках каждого отдельного поля этого типа.

Плагин «Поля - URL»
Плагин «Поля - URL»

Особые настройки поля тип «Url (url)» (рисунок ниже).

Схема. Можно указать один или несколько «видов» адресов, которые можно вставлять в это поле, чтобы они трансформировались из обычного текста в кликабельную ссылку. Доступны такие значения:

  • URL адрес с протоколом HTTP. В качестве значения данного поля нужно указывать URL адрес с явным заданием протокола, например, «http://aleksius.com/» (без кавычек).
  • URL адрес с протоколом HTTS. В качестве значения данного поля нужно указывать URL адрес с явным заданием протокола, например, «https://aleksius.com/» (без кавычек).
  • Адрес по протоколу FTP. В качестве значения данного поля нужно указывать URL адрес с явным заданием протокола, например, «ftp://test.ftp.tools» (без кавычек). Где «test.ftp.tools» – нужный Вам адрес.
  • Адрес по протоколу FTPS. В качестве значения данного поля нужно указывать URL адрес с явным заданием протокола, например, «ftps://test.ftp.tools» (без кавычек). Где «test.ftp.tools» – нужный Вам адрес.
  • Относительный URL адрес к файлу на Вашем сайте. Ссылка на загрузку файла с сайта. В качестве значения данного поля нужно указывать URL адрес без протокола и домена, например, «attachments/article/608/rusifikator-dj-cookiemonster-1-7-1.zip» (без кавычек).
  • Ссылка, по нажатию на которую будет открываться установленный в системе почтовый клиент, и в строке получателя письма будет указан e-mail адрес, который был задан в этом поле. В качестве значения данного поля нужно указывать e-mail адрес в таком виде: «mailto:email@aleksius.com» (без кавычек). Где «email@aleksius.com» – нужный Вам адрес электронной почты.
Настройки поля «Url (url)»
Настройки поля «Url (url)»

На рисунке ниже в верхней части показан пример данных типов полей в материале Joomla при его редактировании, а в нижней – во фронтальной части сайта.

Поле тип «Url (url)»
Поле тип «Url (url)»

Группы пользователя (usergrouplist)

Данный тип поля позволяет выводить название группы пользователей (из списка в менеджере пользователей).

Настройки плагина «Поля - Список групп пользователя» (рисунок ниже). Можно активировать опцию Мультивыбор, что позволит выбирать несколько вариантов из спадающего списка при его заполнении. Это можно переопределить для каждого поля в отдельности.

Плагин «Поля - Список групп пользователя»
Плагин «Поля - Список групп пользователя»

Особые настройки поля тип «Группы пользователя (usergrouplist)» (рисунок ниже). Обратите внимание, что для опции Группы пользователей по умолчанию следует указывать именно ID группы, а не её название. Можно указать несколько ID через запятую, если Вы активировали опцию Мультивыбор (в настройках поля или плагина). Но указание Группы пользователей по умолчанию не обязательно. ID группы можно узнать в одноимённом столбце в Пользователи – Группы.

Настройки плагина «Группы пользователя (usergrouplist)»
Настройки плагина «Группы пользователя (usergrouplist)»

На рисунке ниже в верхней части показан пример данных типов полей в материале Joomla при его редактировании, а в нижней – во фронтальной части сайта.

Поле тип «Группы пользователя (usergrouplist)»
Поле тип «Группы пользователя (usergrouplist)»

Календарь (calendar)

Данный тип поля позволяет выводить дату и время. Можно без времени. В настройках поля нет возможности сменить формат вывода даты/времени. По умолчанию: «11-06-2018 10:30» (11 июня 2018 10:30 утра). Но это можно сделать в Расширения – Языки – Переопределение констант. Создайте новое переопределение для области Сайт (рисунок ниже). Найдите константу «DATE_FORMAT_LC5» и в поле Текст укажите нужный Вам формат даты и времени. Подробнее о форматах можно узнать тут.

Изменение формата даты и времени в Joomla
Изменение формата даты и времени в Joomla

Особые настройки поля тип «Календарь (calendar)» (рисунок ниже). Обратите внимание, что для опции Дата по умолчанию нужно указывать «NOW» (без кавычек) – это приведёт к отображению текущей даты, или нужно указать дату в формате ISO 8601 «YYYY-MM-DD HH:MM:SS» (без кавычек).

Показывать время. Активирует отображение времени рядом с датой.

Настройки поля «Календарь (calendar)»
Настройки поля «Календарь (calendar)»

На рисунке ниже в верхней части показан пример данных типов полей в материале Joomla при его редактировании, а в нижней – во фронтальной части сайта.

Поле тип «Календарь (calendar)»
Поле тип «Календарь (calendar)»

В следующей статье «Обзор настраиваемых полей Joomla. Конфигурация разных типов» мы закончим рассмотрение настроек различных типов доп. полей Joomla.

 

Полезные ссылки: