Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


dev:core:formfield

Класс 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 Объект модели контроллера контекста работы.

Назад к списку классов ядра

dev/core/formfield.txt · Последнее изменение: 14.10.2017 01:46 — fuze