Содержание
Класс cmsFormField
Базовый класс для работы всех полей форм CMS. Файл /system/core/formfield.php
Константы
FIELD_CACHE_POSTFIX
FIELD_CACHE_POSTFIX
Префикс названия ячейки БД поля для кэширования
Свойства
$name
$name : string
Имя поля, как было задано в форме.
Тип
string
$element_name
$element_name : string
Имя поля, как должно быть в HTML теге.
Тип
string
$filter_type
$filter_type : string
Тип фильтрации для поля true, false, int, str или date.
Тип
string или boolean
$filter_hint
$filter_hint : string
Краткое описания поля фильтрации для простых фильтров в админке.
Тип
string
$title
$title : string
Название поля.
Тип
string
$element_title
$element_title : string
Тип
string
$is_public
$is_public : boolean
Флаг, указывающий, что поле может быть использовано для создания в полях типов контента, конструкторе форм и т.п.
Тип
boolean
$sql
$sql : string
Последняя часть строки SQL запроса для создания поля в базе данных.
Тип
string
$cache_sql
$cache_sql : string
Последняя часть строки SQL запроса для создания поля в базе данных, в котором будет храниться кэшированное значение.
Тип
string
$allow_index
$allow_index : boolean
Флаг, указывающий, что при создании поля в базе данных (например, при добавлении поля в типах контента) необходимо также добавить SQL индекс к этому полю.
Тип
boolean
$is_denormalization
$is_denormalization : boolean
Флаг, указывающий, что нам нужна денормализация данных, полученных из поля формы.
Тип
boolean
$item
$item : array
Массив записи, в которой это поле используется.
Тип
array
$field_id
$field_id : integer
ID поля, если запись о нём есть в таблице.
Тип
integer
$is_virtual
$is_virtual : boolean
Флаг, что поле виртуальное.
Тип
boolean
$is_hidden
$is_hidden : boolean
Флаг скрытого поля.
Тип
boolean
$rules
$rules : array
Массив правил валидации.
Тип
array
$options
$options : array
Массив опций поля.
Тип
array
$var_type
$var_type : string
Тип переменной поля boolean | integer | double | string | array | object | resource если получаемые значения от поля типизированы (всегда одного типа) указывайте это свойство в своем классе поля.
Тип
string
$data
$data : array
Массив для данных в шаблоне.
Тип
array
Методы
__construct()
__construct(string $name, array $options = false)
Параметры
Тип | Имя | Описание |
---|---|---|
string | $name | Имя поля |
array | $options | Массив опций |
__set_state()
__set_state(array $data) : \field_class
Магия для var_export. Статичный метод.
Параметры
Тип | Имя | Описание |
---|---|---|
array | $data |
getProperty()
getProperty(string $key) : mixed
Возвращает свойство поля по названию.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $key | Имя свойства. |
setProperty()
setProperty(string $key, mixed $value) : $this
Устанавливает свойство поля.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $key | Название опции. |
mixed | $value | Значение опции. |
getOptions()
getOptions() : array
Возвращает опции поля. Опции - это объекты полей опций.
getOption()
getOption(string $key) : mixed
Возвращает значение опции поля.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $key | Название опции. |
setOptions()
setOptions(array $options)
Устанавливает все параметры для поля: опции и свойства.
Параметры
Тип | Имя | Описание |
---|---|---|
array | $options | Массив опций и свойств. |
setOption()
setOption(string $key, mixed $value) : $this
Устанавливает значение опции.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $key | Название опции. |
mixed | $value | Значение опции. |
getTitle()
getTitle() : string
Возвращает название поля.
getName()
getName() : string
Возвращает имя поля.
getDenormalName()
getDenormalName() : string
Возвращает имя поля в случае денормализации при сохранении значения от поля.
setName()
setName(string $name) : $this
Устанавливает имя поля и имя HTML элемента поля.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $name | Имя поля. |
getElementName()
getElementName() : string
Возвращает имя HTML элемента поля.
setItem()
setItem(array $item) : $this
Устанавливает данные текущей записи поля.
Параметры
Тип | Имя | Описание |
---|---|---|
array | $item | Массив текущей записи поля. |
getCacheSQL()
getCacheSQL() : string
Возвращает последнюю часть строки SQL запроса для создания поля в базе данных, в котором будет храниться кэшированное значение.
getSQL()
getSQL() : string
Возвращает последнюю часть строки SQL запроса для создания поля в базе данных.
getRules()
getRules() : array
Возвращает массив правил валидации поля.
hasDefaultValue()
hasDefaultValue() : boolean
Возвращает булево значение наличия умолчания у поля.
getDefaultValue()
getDefaultValue() : mixed
Возвращает значение по умолчанию у поля.
getDefaultVarType()
getDefaultVarType(boolean $is_filter = false) : string|null
Возвращает тип переменной для поля.
Параметры
Тип | Имя | Описание |
---|---|---|
boolean | $is_filter | Указывает, что нам нужен тип при использовании в фильтре. |
getInput()
getInput(mixed $value) : string
Возвращает HTML код поля в форме.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Текущее значение поля. |
getFilterInput()
getFilterInput(mixed $value) : string
Возвращает HTML код поля в форме фильтра.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Текущее значение поля. |
parse()
parse(mixed $value) : string
Возвращает отформатированное значение поля для показа в записи.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Значение поля. |
parseTeaser()
parseTeaser(mixed $value) : string
Возвращает отформатированное значение поля для показа в списке записей.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Значение поля. |
getStringValue()
getStringValue(mixed $value) : string
Если значение вашего поля предполагает тип, отличный от типа «string» или же значение поля формируется как некий HTML код, то этот метод должен вернуть как минимум строковое представление значения.
Метод используется при автоматическом формировании SEO параметров по шаблонам: slug (URL страницы), title, keywords, description.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Значение поля. |
applyFilter()
applyFilter(object $model, mixed $value) : boolean|$model
Метод, который вызывается при применении фильтра списка записей, например, при работе фильтра списка записей типов контента, списка пользователей, групп.
В методе необходимо реализовать нужную фильтрацию для этого поля, пользуясь объектом модели и значением из формы. Вернуть метод должен объект $model.
Параметры
Тип | Имя | Описание |
---|---|---|
object | $model | Объект модели из контекста вызова. |
mixed | $value | Значение поля. |
store()
store(mixed $value, boolean $is_submitted, mixed $old_value = null) : string|array
Метод, который подготавливает входную переменную из поля для записи в базу данных.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Значение поля из формы. |
boolean | $is_submitted | Форма отправлена? |
mixed | $old_value | Предыдущее значение поля. |
storeCachedValue()
storeCachedValue(mixed $value) : string
Метод, аналогичный store, но должен вернуть строку, которая будет использоваться для денормализации значения.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Значение поля. |
afterStore()
afterStore(array $item, object $model, string $action) : void
Метод вызывается после сохранения записей типов контента, профилей и групп.
Параметры
Тип | Имя | Описание |
---|---|---|
array | $item | Полный массив записи, в которой есть текущее поле. |
object | $model | Объект модели из контекста вызова. |
string | $action | Действие - add или edit. |
delete()
delete(mixed $value) : boolean
Метод, который вызывается при удалении записи.
Параметры
Тип | Имя | Описание |
---|---|---|
mixed | $value | Значение поля. |
hookAfterAdd()
hookAfterAdd(string $content_table_name, array $field, object $model) : $this
Метод вызывается после создания поля в админке, например в типах контента, профилях или группах.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $content_table_name | Название таблицы, для которой поле создаётся. |
array | $field | Массив данных поля. |
object | $model | Объект модели контроллера контекста работы. |
hookAfterUpdate()
hookAfterUpdate(string $content_table_name, array $field, array $field_old, object $model) : $this
Метод вызывается после редактирования поля в админке, например в типах контента, профилях или группах.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $content_table_name | Название таблицы, для которой поле редактируется. |
array | $field | Новый массив данных поля. |
array | $field_old | Старый (до редактирования) массив данных поля. |
object | $model | Объект модели контроллера контекста работы. |
hookAfterRemove()
hookAfterRemove(string $content_table_name, array $field, object $model) : $this
Метод вызывается после удаления поля в админке, например в типах контента, профилях или группах.
Параметры
Тип | Имя | Описание |
---|---|---|
string | $content_table_name | Название таблицы, для которой поле было создано. |
array | $field | Массив данных поля. |
object | $model | Объект модели контроллера контекста работы. |