Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
инвентаризация:dev:model:fields [2024/05/26 17:55] 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 этого аттрибута в форме редактирования | ||
+ | // - boolean - да / нет (чекбокс) | ||
+ | // - toggle - это как boolean, но только для 0 и 1 есть свои названия, | ||
+ | // - radios - это как toggle, только значений может быть больше 2 | ||
+ | // - list - это как radios, только значений прям много и оформляется в виде dropdown | ||
+ | // - ntext - textarea (простой текст без форматирования с конвертацией nl -> <br> при рендере) | ||
+ | // - text - текст с форматированием (какой формат прописывается в параметрах) | ||
+ | // - date - дата | ||
+ | // - datetime - дата/ | ||
+ | // - ips - список IP | ||
+ | // - macs - список MAC | ||
+ | // - urls - список URL | ||
+ | // - link - одиночная ссылка | ||
+ | // - string - обычный текст (по умолчанию) | ||
+ | ' | ||
//чем заполнить селектор в форме, если значение не введено | //чем заполнить селектор в форме, если значение не введено | ||
' | ' | ||
Строка 24: | Строка 54: | ||
//при наличии объектов в этом поле, считаем что себя удалять нельзя, | //при наличии объектов в этом поле, считаем что себя удалять нельзя, | ||
// | // | ||
- | //(если не объявлять явно, определяется из $linkSchema | + | //(если не объявлять явно, определяется из $linkSchema) |
' | ' | ||
//при вызове функции absorb это поле нужно поглощать из переданного объекта | //при вызове функции absorb это поле нужно поглощать из переданного объекта | ||
Строка 31: | Строка 61: | ||
// - true - да (по умолчанию для полей, являющихся обратными ссылками) | // - true - да (по умолчанию для полей, являющихся обратными ссылками) | ||
' | ' | ||
+ | //что нужно заджойнить при отображении этого атрибута в списке (для жадной загрузки + поиск) | ||
+ | ' | ||
], | ], | ||
' | ' | ||
Строка 41: | Строка 73: | ||
* ' | * ' | ||
* Service:: | * Service:: | ||
- | * ' | + | * ' |
- | | + | |
- | * 'user_id' | + | |
- | * Users::class, | + | |
- | * ' | + | * ' |
+ | * ' | ||
* ], | * ], | ||
* ]; | * ]; |