Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
инвентаризация:dev:model:fields [2025/05/03 10:41] – admin | инвентаризация:dev:model:fields [2025/09/21 07:40] (текущий) – admin | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
====== Инвентаризация: | ====== Инвентаризация: | ||
Описание атрибутов модели делаем в одной функции: | Описание атрибутов модели делаем в одной функции: | ||
<code php> | <code php> | ||
+ | /** @var string как называется один экземпляр модели (для страницы Create -> Новый объект) */ | ||
+ | public static $title=' | ||
+ | |||
+ | /** @var string как называется список моделей (для страницы Index) */ | ||
+ | public static $titles=' | ||
+ | |||
+ | /** @var string надпись на кнопке создания нового объекта в списке */ | ||
+ | public static $addButtonText=' | ||
+ | |||
+ | /** @var null|string подсказка для кнопки создания нового объекта */ | ||
+ | public static $addButtonHint=null; | ||
+ | |||
+ | /** @var string Префикс для страницы Create (Новый $title) */ | ||
+ | public static $newItemPrefix=' | ||
+ | |||
public $parentAttr=' | public $parentAttr=' | ||
public function attributeData() { | public function attributeData() { | ||
return [ | return [ | ||
[' | [' | ||
+ | // | ||
+ | // - form (заполнение) поиск значений: | ||
+ | // - view (просмотр) поиск значений: | ||
+ | // - grid (заголовок в таблице) поиск значений: | ||
+ | // - search (заголовк в таблице с фильтром) значение: | ||
+ | // - api (формирование документации) поиск значений: | ||
+ | // | ||
// | // | ||
' | ' | ||
// | // | ||
' | ' | ||
- | | + | |
+ | // | ||
// | // | ||
+ | // | ||
' | ' | ||
// | // | ||
- | ' | + | |
+ | // | ||
+ | | ||
+ | // | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | .'< | ||
+ | // | ||
+ | //если отсутствует, | ||
+ | ' | ||
+ | // | ||
+ | // | ||
+ | //если отсутствует, | ||
+ | ' | ||
//тип Input этого аттрибута в форме редактирования | //тип Input этого аттрибута в форме редактирования | ||
// - boolean - да / нет (чекбокс) | // - boolean - да / нет (чекбокс) | ||
Строка 30: | Строка 68: | ||
// - urls - список URL | // - urls - список URL | ||
// - link - одиночная ссылка | // - link - одиночная ссылка | ||
+ | // - number - число (ввод через обычный input/ | ||
// - string - обычный текст (по умолчанию) | // - string - обычный текст (по умолчанию) | ||
- | 'fieldType' => 'text', | + | 'type' => 'toggle', |
+ | // | ||
+ | ' | ||
//чем заполнить селектор в форме, если значение не введено | //чем заполнить селектор в форме, если значение не введено | ||
' | ' | ||
//поле наследуемое (если не задано в этом объекте, | //поле наследуемое (если не задано в этом объекте, | ||
' | ' | ||
- | //поле является ссылкой на объекты с обратной | + | //атрибут только для чтения (updated_at, |
- | //при наличии | + | ' |
- | //иначе в объектах ссылающихся на нас | + | //атрибут только для записи |
- | //(если не объявлять явно, определяется из $linkSchema) | + | 'writeOnly'=>true, |
- | 'is_reverseLink'=false, | + | |
//при вызове функции absorb это поле нужно поглощать из переданного объекта | //при вызове функции absorb это поле нужно поглощать из переданного объекта | ||
// - false - нет (по умолчанию для полей - "не обратных ссылок" | // - false - нет (по умолчанию для полей - "не обратных ссылок" | ||
Строка 46: | Строка 86: | ||
// - true - да (по умолчанию для полей, являющихся обратными ссылками) | // - true - да (по умолчанию для полей, являющихся обратными ссылками) | ||
' | ' | ||
+ | //что нужно заджойнить при отображении этого атрибута в списке (для жадной загрузки + поиск) | ||
+ | ' | ||
], | ], | ||
' | ' |