Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
инвентаризация:dev:model:fields [2024/05/25 08:41] admin |
инвентаризация:dev:model:fields [2025/05/20 08:03] (текущий) admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
- | ====== Инвентаризация: | + | ====== Инвентаризация: |
Описание атрибутов модели делаем в одной функции: | Описание атрибутов модели делаем в одной функции: | ||
<code php> | <code php> | ||
- | public $parentAttr=' | + | |
+ | 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 function attributeData() { | public function attributeData() { | ||
return [ | return [ | ||
Строка 17: | Строка 32: | ||
// | // | ||
' | ' | ||
- | //поле наследуемое (если | + | //тип Input этого аттрибута в форме редактирования |
- | 'is_inheritable'=>true, | + | // - boolean - да / нет (чекбокс) |
+ | // - toggle - это как boolean, но только для 0 и 1 есть свои названия, напр сервис/ | ||
+ | // - radios - это | ||
+ | // - list - это как radios, только значений прям много и оформляется в виде dropdown | ||
+ | // - ntext - textarea (простой текст | ||
+ | // - text - текст с форматированием (какой формат прописывается в параметрах) | ||
+ | // - date - дата | ||
+ | // - datetime - дата/ | ||
+ | // - ips - список IP | ||
+ | // - macs - список MAC | ||
+ | // - urls - список URL | ||
+ | // - link - одиночная ссылка | ||
+ | // - string - обычный | ||
+ | 'fieldType' => ' | ||
//чем заполнить селектор в форме, если значение не введено | //чем заполнить селектор в форме, если значение не введено | ||
' | ' | ||
+ | //поле наследуемое (если не задано в этом объекте, | ||
+ | ' | ||
+ | //поле является ссылкой на объекты с обратной ссылкой на этот. | ||
+ | //при наличии объектов в этом поле, считаем что себя удалять нельзя, | ||
+ | // | ||
+ | //(если не объявлять явно, определяется из $linkSchema) | ||
+ | ' | ||
+ | //при вызове функции absorb это поле нужно поглощать из переданного объекта | ||
+ | // - false - нет (по умолчанию для полей - "не обратных ссылок" | ||
+ | // - ' | ||
+ | // - true - да (по умолчанию для полей, являющихся обратными ссылками) | ||
+ | ' | ||
+ | //что нужно заджойнить при отображении этого атрибута в списке (для жадной загрузки + поиск) | ||
+ | ' | ||
], | ], | ||
' | ' | ||
Строка 26: | Строка 68: | ||
} | } | ||
- | /** | + | |
- | * @return array[] Ссылками на объекты каких классов являются атрибуты | + | |
- | * $linksSchema=[ | + | |
- | * ' | + | |
- | * Service:: | + | |
- | * ' | + | |
- | * ], | + | |
- | * 'user_id' | + | |
- | * Users::class, | + | |
- | * ' | + | |
- | * ], | + | * ' |
- | * ]; | + | |
- | */ | + | |
- | public $linksSchema=[ | + | |
- | ' | + | public $linksSchema=[ |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
+ | ' | ||
- | ' | + | |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
- | ' | + | ' |
]; | ]; | ||