Уже окончательно решено, что в Joomla 3.7 появятся настраиваемые поля (Custom Fields). Пока достоверных данных о, том когда выйдет точно выйдет 3.7 нет, но уже доступна ночная сборка, в которой добавлены новые функции.
Скачать ночную сборку можно с официального сайта Joomla.
Если заглянуть в глубь истории, то в далеком 2012 году, настраиваемые поля были первыми в списке запросов для Joomla 3 и вот кажется это стало реальностью.
В данной статье мы постараемся рассказать, как работают поля в Joomla.
Как использовать поля на статьях Joomla
На вкладке "Content", выпадающее меню теперь есть две новые опции, "Fields" и "Field Groups":
В разделе "Fields", вы сможете нажать кнопку "New" и создать поля из предложенного набора данных. Вот в верхней части списка, который включает в себя: CAPTCHA, Calendar, Checkbox, Colour, Editor, Email, Gallery, Image и List options.
Выделите дальше вниз по списку типов полей и вы увидите поля: Media, Radio, SQL, Telephone, Text, Textarea, Timezone, URL, User and Usergroup.
Каждое поле может быть назначено к определенной группе или той или иной категории. Вы можете иметь поля, которое появляются только на статьях в определенной категории:
Каждое поле будет иметь свой собственный набор разрешений. Поля также имеют опции, такие как: лейбл, иконка, или класс CSS:
Поля не обязательно должны быть отнесены к группе, но вы можете создавать группы, если хотите:
Можно определить, где будут отображаться группы полей при редактировании статьи. Каждая группа будет иметь вкладку, как вы можете видеть на изображении ниже вкладку "My Test Fields":
На этой вкладке вы сможете ввести данные для вашей статьи:
По умолчанию, когда вы публикуете статью с полями, эти поля будут отображаться под основным содержанием:
Многие из этих полей действительно полезные и функциональные. Например, в поле "Галерея" выводит настоящую галерею фотографий. Все что необходимо сделать пользователю, это выбрать папку из медиа-библиотеки, а поле будет автоматически создавать галерею.
Как использовать поля для контактов и пользователей Joomla
Многие люди будут использовать поля для статей, но поля также доступны для пользователей и контактов. Я подозреваю, что многие разработчики компонентов также начнут интегрировать поля. На рисунке ниже показано поле ссылки для пользователей:
Любые пользовательские поля, которые вы создаете будут доступны, когда пользователи зарегистрируются на вашем сайте, а также, когда они изменять свои профили, как показано на рисунке ниже:
Как настраивать параметры полей Joomla
Поля вы можете включать и выключать для каждого компонента. Например, если вы хотите поля профилей пользователей, вы можете включить их под перейдя в "Опции" ссылка для пользователей, и перейдите на вкладку "Интеграция":
Так же некоторые опции доступны в системном плагине полей Расширения => Плагины => редактировать "Система - поля". Вы можете контролировать, где отображаются поля на статьях: After Title, Before Display, After Display или скрыть отображение. Эти параметры также могут быть настроены индивидуально для каждого поля.
Критика кастомных полей Joomla
Пока идет разработка и сложно будет сказать, как будут они выглядит в конечном виде, однако существующее решение имеет несколько недостатков, которые отмечают почти все тестирующие ночную сборку Joomla 3.7.
- Все значения полей складываются в одну таблицу, для небольших проектов и проектов с небольшим количеством полей, это вполне оправдано, но при росте количества значений в базе это может стать серьезной архитектурной проблемой.
- В базе нет фильтров поиска и сортировки, то есть по сути пока это лишь набор значений, которые вы можете вывести в контенте, а механизмов, которые присущи полноценным CCK нет. В целом это можно будет решить сторонними разработками, но хотелось бы, чтоб все было встроено изначально.
Подводя итоги
Поля безусловно интересная функция Joomla, кто работал с K2 увидит некоторое сходство с решением, которое включили в ядро Joomla. Скорей всего разработчики активно будут включать поля в свои расширения, тем самым значительно расширив функционал компонентов.
Лично я очень надеюсь, что функционал полей будет расширятся и появятся много новых возможностей, которые позволят создавать сложные сайты используя только базовый движок Joomla.
Статья написана по мотивам статьи Steve Burge