Наконец-то мы этого дождались. Начиная с Joomla 3.7 разработчики сделали важный шаг к улучшению функционала ядра CMS: сейчас в стандартном контенте com_content мы сможем использовать дополнительные поля.
Для чего нужны поля в Joomla?
В основе своей это удобство, которое проявляется в следующем:
- Простое создание материала при котором мы только заполняем нужные поля, без необходимости формирования дополнительной разметки.
- Единый внешний вид материалов с полями.
- Фильтрация по значениям полей.
В стандартном контенте Joomla по умолчанию есть несколько предустановленных полей:
- Текст материала
- Поле для изображения
- Ссылки после материала
Для обычного блога этого вполне достаточно, но кому нужен обычный блог?
Для того, чтобы была возможность использовать поля разработчики сайтов на Джумла устанавливают конструкторы контента.
Например, в свое время из бесплатных, доступных и очень популярных был конструктор контента K2. Он вышел еще на Joomla 1.5 и предоставил пользователям то, чего им так не хватало - это возможность назначения прав пользователям и дополнительные поля.
Прошло время и гибкое управление правами пользователей (ACL) появилось в ядре Joomla. А сейчас у разработчиков, наконец-то, дошли руки и до полей.
Поэтому, мое мнение, с выходом Джумла 3.7 надобность в простых конструктора контента, в частности k2 вовсе отпадет.
Виды полей в Joomla
На вкладке «Материалы», в выпадающем меню теперь есть две новые опции: «Поля» и «Группы полей».
В разделе «Поля», собственно, можно создать поля, используя 19 различных типов полей:
- календарь,
- чекбокс,
- цвет,
- редактор,
- e-mail,
- галерея,
- изображение,
- целое число,
- список,
- медиа,
- радио,
- SQL,
- телефон,
- текст,
- текстовая область,
- часовой пояс,
- URL,
- пользователь,
- группа пользователей.
Календарь
Поля Календарь позволяет пользователям вводить дату с помощью всплывающего календаря.
Можно настроить формат вывод даты любым удобным способом. Данное поле будет актуально для для указания Дня Рождения пользователя или при использовании в материале для указания даты мероприятия.
Чекбокс
Поле чекбокс позволяет выбирать один из предопределенных вариантов.
Пожалуй, одно из популярных полей. Мы создаем варианты выбора и при заполнении материала или профиля пользователя выбираем нужное значение.
Количество вариантов не ограничено.
Цвет
Это что-то новенькое. Поле Color позволяет выбрать цвет из всплывающего окна выбора. В приведенном ниже примере после выбора, цвет #ad3e3e появится в контенте.
Весьма специфичное поле.
Редактор
Разработчик назвали поле просто Editor (редактор).
По сути — это просто обычное HTML-поле, которое нам предоставляется в основной части контента. Только таких полей мы можем создать много.
Мое мнение, актуальное поле. Лично у меня на блоге используется два html поля: одно для контента, второе для баннера.
А в мастерской Joomla у меня 8 html полей.
Внутри можно настроить внешний вид данного поля.
Это одно из самых простых полей, это просто текстовое поле с валидацией на е-маил. Если вы ввели неправильный формат адреса электронной почты, то поле выдаст сообщение об ошибке.
Галерея
Галерея более сложное поле, чем поле е-маил. Это поле не включено по умолчанию. Нам нужно пройти в плагины и включить плагин Gallery.
И перед нами появляется набор настроек для данного поля.
При заполнении поля будет предложено выбрать папку с изображениями.
После выбора папки, вы автоматически получите галерею подобного вида.
Меня не особо впечатлило поле. Минимальный функционал, дзен-дизайн. Но то, что есть — это уже хорошо.
Изображение
Поле изображения подобно полю галереи, но будет показывать изображения без дополнительного оформления. При настройке поля выбираем из какого каталога пользователи смогут выбирать изображения.
После этого, при заполнении поля, мы сможем выбрать заранее добавленные в папку изображения.
Примечание редактора. Надеюсь это поле будет усовершенствование. В данном виде его функционал, без возможности загрузки изображения напрямую не особо востребован.
Целое число
Поле Integer позволяет пользователям выбирать номера из заданного списка.
Это выбор, который будет видеть пользователи.
Примечание редактора. Отличное поле для того, чтобы увеличить число полей, по факту для обычного пользователя не представляет интереса.
Список
Поле Список идентично полю чекбокс за исключением того, что он отображает выбор в раскрывающемся списке.
Медиа
Поле медиа практически идентично полю изображения, только здесь вы не выбираете изображение из папки, а можете загрузить его с компьютера.
Радио
Поле Радио кнопка имеет тот же функционал, что и поле список, отличаются только стилем вывода.
SQL
Поле SQL позволяет создавать свой собственный раскрывающийся список. Запрос должен возвращать два столбца; один называется 'значение', которое будет содержать значения элементов списка; другое называют «текст», содержащий текст в раскрывающемся списке.
Телефон
Поле Телефон является немного странным, примерно таким же странным как и поле изображение. В чем его смысл не понятно. Это просто текстовое поле, но названо телефон. Вероятно в нем появится валидация номера, но все-равно, будем откровенны, это не дает права на жизнь этому полю.
Текст
Поле Текст — это одна текстовая строка. Поле е-маил и телефон являются производными от этого поля. Например, в Кобальте опциями в данном поле мы можем выставить любую валидацию, превратив в поле е-маил, телефон, индекс и прочие другие форматы данных. Текстовое поле - это универсальное поле для ввода не системной характеристики.
Текстовая область
Поле Textarea похож на поле текста, но больше, может иметь неограниченное количество строк в высоту.
Вот как поле Textarea появляется для пользователей.
Часовой пояс
Это относительно просто поле. Пользователи могут выбрать часовой пояс из выпадающего списка.
У меня вот только один вопрос: «Зачем нужно это поле?»
URL
Поле URL превращает любой адрес в ссылку. В настройках вы можете выбрать какие типы адресов превращать в ссылки.
Пользователь
Поле пользователя позволяет выбрать конкретного пользователя с вашего сайта. После этого в материале вы будете видеть имя этого пользователя.
Практическая ценность — никакая, только если в дальнейшем в джумла не расширят профайл пользователя и значение поля не станет ссылкой на профиль.
Группа пользователей
Позволяет вывести название группы пользователя.
Хорошая попытка увеличить количество полей в арсенале.
Общие настройки полей
При создании каждое поле может быть назначено к определенной группе полей и категории, например, некоторые поля будут отображаться только в нужной категории.
У каждого поля есть свои настройки, которые зависят от типа и универсальные настройки, которые одинаковы для всех полей.
Среди универсальных настроек стоит выделить: этикетки, иконку и классы CSS для двух видов поля (при добавлении и на странице вывода).
Как уже было сказано ранее поля могут входить в группы полей, но это вовсе не обязательно.
Каждая группа с полями будет иметь вкладку, как вы можете видеть на изображении ниже с вкладки «My Test Fields».
На этой вкладке вы сможете заполнить поля группы.
По умолчанию, если не задано иное в классах и в настройках, группы с полями будут отображаться под основным содержимым.
Настройки для каждого поля
У каждого поля есть уникальные настройки, присущие данному типу и общие - настройки, которые есть у всех типов полей. Общие настройки:
- Метка: Этот текст будет отображаться перед полем в форме редактирования и во фронтенде, т. е. в материале
- Описание: Этот текст будет находиться внутри, в подсказке к заполнению поля
- Требуется: Я думаю можно оставить без комментариев
- Значение по умолчанию: Вводится значение по умолчанию для сокращения рутинных операций.
Кроме того, на вкладке Параметры, вы найдете:
- Подсказка: Это заполнитель и будет работать только для текстовых полей
- Изображение: Видимо иконка для поля, но пока не подтверждено
- Изображение Альтернативный текст: альтернативный вариант, приведенной выше настройки
- Рендер Класс: Класс атрибутов , когда поле выводится в заполненном виде (материале)
- Класс: Класс атрибутов , когда поле отображается в форме редактирования
- Отключено: Просто выключатель поля
- Только для чтения: может ли содержание пользователям редактировать поле в форме редактирования?
- Показать на: Где должен быть виден поле - на сайте или в области администратора?
- Где показывать: Выше или ниже основной части контента
Поля для контактов
Многие пользователи будут использовать поля для материалов, но этим не ограничиваются новшества Joomla 3.7. Поля можно использовать и в управлении пользователями.
Да, теперь для профайла пользователя можно создавать свои поля, любые из 19 типов, которые введены на данный момент в Джумла. Т. е. ради введения дополнительной информации сейчас не обязательно ставить Community Builder или другие расширения для работы с профайлом пользователя.
Поля профайла пользователя будут видны, когда пользователи регистрируются на сайте, а также, когда они изменяют свои профили, как показано на рисунке ниже.
Глобальные настройки полей
Поля вы можете включать и выключать для каждого компонента (Контент и Контакты). Например, если вы хотите создавать поля для профилей пользователей, то вы можете включить их перейдя в Настройки - ссылка для пользователей, и перейдите на вкладку Интеграция.
Дополнительные параметры отображения доступны в настройках плагинов. Плагины и редактировать "Система - поля" плагин. Вы можете выбирать, где будут отображаются поля на статьях: после контента, перед контентом, скрыть. Эти параметры также могут быть настроены индивидуально для каждого поля.
Вероятно к выходу финальной версии Джумла 3.7 поля еще усовершенствуются. Тем не менее, это очень позитивный шаг для Joomla.
Что вы думаете по поводу введения полей?
Поля от сторонних разработчиков
Кроме стандартных полей разработчики могут писать свои поля, как отдельное расширение, которое любой желающий может установить.
И вот это очень круто! По сути, если к этому грамотно подойдут разработчики, то надобность во многих конструкторах контента отпадет. Уже сейчас актуальность CCK K2 стремится к нулю.
Рассмотрим дополнительные поля, которые нам предлагают сторонние разработчики:
- Advanced Custom Fields (набор полей),
- Article Field (набор полей),
- Period Field (поле).
Комплект полей Advanced custom fields
Разработчик: Thassos Marinos
Ссылка: https://www.tassos.gr/joomla-extensions/advanced-custom-fields
В бесплатный комплект входят следующие поля:
- Youtube - выводит видео из youtube
- Vimeo - выводит видео с Vimeo
- Daily motion - выводит видео с сервиса Daily motion
- Soundcloud - выводит аудио с Soundcloud
- Google maps field - выводит в материале карту
- True / False - поле со значением Да / Нет
- Currency - выводит подпись валюты, например, руб.
- Country - позволяет выбрать страну.
- Time picker - позволяет выбрать время
В платный комплект входит:
- Поле для вывода модуля. Прямо в поле выбираем какой модуль вывести.
Мое мнение, только ради этой функции покупать нет смысла. - Расширение права публикации полей (действует как на дополнительные, так и на стандартные поля).
Отображение полей может привязываться к определенным страницам, пунктам меню, времени, странам, группам пользователей, устройствам, источнику перехода, языку и можно написать свое условие. - Дополнительные возможности настройки видео-полей (время начала воспроизведения, скрытие кнопок и прочее).
Напомню, что одной из задач полей является упрощение внесения материалов. Другими словами гораздо легче заполнить значение поля, чем выбрать место в редакторе, написать туда нужный код и оформить. Поэтому, даже самые простые поля, могут иметь значение.
Подведем итог
Хорошее дополнение стандартного функционала.
Лично я для себя из этого комплекта особо выделил поля с картами - это незаменимая штука если в каждом материале нужно указывать местоположение.
И понравились поля выбора времени и значение да / нет.
Article Field - Родительское и дочернее поле
Разработчик: Regularlabs
Ссылка: https://regularlabs.com/articlesfield
Замечательное, простое и законченное поле от популярного Нидерландского разработчика Regularlabs.
Данное поле позволяет поставить ссылку или ссылки на другие материалы.
Варианты использования:
- другие материалы из категории
- другие материалы с подобным значением поля (полей)
- ссылка на любой материал
Расширенная практическая польза.
Например, создаем поле Актер: Леонардо Ди Каприо. И ставим ссылки на все материалы - его фильмы.
В фильмах у нас появится (платная версия поля) обратная ссылка.
Таким образом это поле может использоваться в двух вариантах: как родительское, так и дочернее поле.
Функционал бесплатной версии:
- Возможность добавлять несколько ссылок.
- Несколько вариантов отображения ссылки на другой материал.
- Возможность принудительной фильтрации материалов по категории, для упрощения выбора.
Возможности платной версии:
- Все возможности бесплатной версии
- Возможность показывать в дочернем материале ссылку на родительский материал, другими словами ссылку на статью, которая на нас ссылается.
- Свой заголовок ссылки с использованием тэгов и изображений.
- Дополнительная фильтрация материалов к выбору по: тэгам, автору, полям.
Итог
Отличное поле для перелинковки материалов.
Фильтрация полей
В основном ради быстрой фильтрации и вводятся дополнительные поля.
Два разработчика для Joomla уже предоставили дополнительные фильтры. Причем если тщательно разобраться, то идеальным можно назвать только один.
Мегафильтр
Разработчик: Joomlart
Сайт: https://www.joomlart.com/joomla/extensions/ja-megafilter-for-joomla
На первый взгляд очень красивый и прям очень очень очень крутой простой фильтр.
Но, как я обнаружил после покупки и начала использования — это абсолютно не пригодное расширение для большинства сайтов.
Плюсы
- Красиво выглядит.
- Гибкая настройка.
- Подходит для стандартных полей и сторонних расширений.
Минусы
- Свой дизайн списка материалов, выводится только пунктом меню.
- Есть модуль фильтра, но он не работает.
- Нельзя отобразить работающий модуль фильтра на всех страницах.
- Если отфильтруем и перейдем в материал, то фильтр исчезнет.
Итог
Фильтр красивый, но использовать не стоит. Потенциально, в будущем может стать решением.
Фильтр Good Search Module
Сайт: http://joomcar.net/products/joomla/joomla-articles-good-search-module
У данного автора, стоит отметить, тоже «все в порядке» с неймингом, но в отличие от последнего получилось отличное расширение.
Я не знаю как у меня получилось найти это расширение, т. к. его нет в JED, оно нигде не рекламируется. И даже перейдя на сайт разработчика не возникает желания купить и начать использовать, т.к. довольно скудное описание и демка из начала двухтысячных.
Такое ощущение, что автор сделал все возможное, чтобы не продавать свое решение.
Хотя продукт, как выяснилось отличный. В отличие от предыдущего «Мега фильтра» с красивой оберткой и пустышкой внутри, этот фильтр действительно работает.
Как заверяет автор, при проверки фильтрации на 7000 материалах база данных работала превосходно.
В общем, я и остановился на этом фильтре, т. к. он простой, функциональный и стабильный как молоток.
Преимущества:
- Простота.
- 9 типов фильтров.
- Отлично работающий модуль.
- Дополнительная фильтрация по категориям, подкатегориям, содержимому.
- Возможность создания фильтра с поэтапным выбором.
Недостатки:
- Предустановленный шаблон страницы с результатами. В целом он очень похож на стандартный дизайн списка материалов, но если нужен идентичный дизайн, то нужно будет немного корректировать шаблон.
Итог
Простое и функциональное решение. То, что нужно.
Есть и еще расширения для работы с полями, но они не включены в данный обзор, т. к. или дублируют возможности представленных расширений или слишком незначительны.