Web
Analytics
Skip to content
Concrete5 на русском языке

Обзор

concrete5 обладает надежной и мощной системой для связывания пользовательских данных с различными типами объектов, такими как страницы, пользователи и файлы. Если вы когда-либо устанавливали флажок «Исключить из Навигации» на true на странице или смотрели на ширину или высоту изображения или добавляли некоторые пользовательские настройки для учетной записи пользователя, вы взаимодействовали с пользовательскими атрибутами.

Создание настраиваемого атрибута для отслеживания данных на странице, пользовательском или файловом объекте - это то, что может сделать любой редактор concrete5 с помощью инструментов в Панели Управления; это все задокументировано в руководстве редактора. Однако в качестве разработчика concrete5 существует несколько способов, которыми атрибуты могут использоваться и расширяться. Разработчики могут добавлять совершенно новые типы атрибутов к concrete5, а также могут использовать атрибуты в своих собственных пользовательских объектах. И поскольку атрибуты являются основой всех данных, стоящих за Express, которые просто делают изучение их более важным, чем когда-либо.

Примечание: эта документация предназначена для concrete5 8,0 и выше. Хотя пользовательские атрибуты существуют уже давно, и большая часть этой документации относится к более ранним версиям, различия достаточно велики, поэтому при создании документации, соответствующей версии 8, нужно придать больший приоритет. (Поверьте мне, это того стоит.)

Терминология

Прежде чем говорить о том, как мы можем расширить систему пользовательских атрибутов concrete5, давайте объясним некоторые из концепций, лежащих в ее основе, чтобы мы знали, что каждый понимает терминологию.

Ключи Атрибута

Ключи атрибутов (или просто «пользовательские атрибуты», если вы описываете concrete5 для редакторской аудитории) - это настраиваемые атрибуты, которые вы добавляете через пользовательский интерфейс Панели Управления. Примеры ключей атрибутов включают «Исключить из Навигации», «Мета Ключевые слова», «Темы в блогах», «Ширина», «Высота» и т. д. При добавлении атрибута через пользовательский интерфейс concrete5 вы добавляете ключ атрибута.

Типы Атрибутов

Типы атрибутов - это типы данных, которые может хранить пользовательский атрибут при создании ключа атрибута. Типы атрибутов включают «Текст», «Текстовое поле», «Логический», «Список», «Изображение / Файл» и т. Д. Создание пользовательских типов атрибутов - один из наиболее распространенных способов, которыми разработчики расширяют систему пользовательских атрибутов concrete5. Пользовательские типы атрибутов могут быть легко включены в плагины и сделать так, чтобы разработчики могли создавать индивидуальные целевые интерфейсы для пользовательских задач и хранить определенные данные в удобном для использования виде.

Настройки ключа атрибута

Новое в версии 8 это объекты настроек ключа ключа — просто легкий способ сохранить настройки для конкретного ключа атрибута, а не просто создавать собственные запросы к базе данных для хранения настроек типа. Например, когда вы создаете атрибут Текстовое поле, вы также будете сохранять пометку о том, использует ли атрибут Текстовое поле простой текст или оформленный текст с HTML тегами. Данные этого типа будут храниться в пользовательском объекте, найденном в Concrete\Core\Entity\Attribute\Key\Settings\TextareaSettings. Все это обрабатывается в контроллере атрибутов простым и понятным образом, без большого количества пользовательского кода.

Категории Атрибутов

Категории атрибутов — это типы объектов в concrete5, которые могут присоединяться к пользовательским значениям атрибутов. Категории атрибутов, которые поставляются с ядром, включают Страница, Файл и Пользователь.

Значения Атрибута

Каждый раз, когда вы назначаете значение странице, файлу или пользователю через пользовательский интерфейс concrete5 или через собственный код, вы за кулисами создаете значение атрибута. Значения атрибутов присоединяются к идентификатору категории атрибута (например, идентификатор страницы + идентификатор версии страницы) с ключом атрибута и объектом значения данных.

Значения Данных Атрибута

Объекты значения данных атрибута хранят данные типа в базе данных. Например, если вы устанавливаете числовое значение для настраиваемого атрибута, вы создаете значение данных объекта типа Concrete\Core\Entity\Attribute\Value\Value\NumberValue, с конкретными деталями набора объектов значения данных.

Контроллеры Атрибутов

Каждый тип атрибута имеет контроллер; это конкретный класс, отвечающий за установку данных в разных представлениях и предоставление вывода для объектов значений данных в разных ситуациях. Когда вы создаете настраиваемый тип атрибута, вы обязательно создадите контроллер, чтобы с ним работать.

Типы Атрибута

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