Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
инвентаризация:dev:model:fields [2025/05/03 10:27]
admin
инвентаризация:dev:model:fields [2025/05/20 08:03] (текущий)
admin
Строка 1: Строка 1:
-{{tag>dev Инвентаризация}}+{{tag>dev Инвентаризация model fields}}
 ====== Инвентаризация: DEV: Model Fields ====== ====== Инвентаризация: DEV: Model Fields ======
  
 Описание атрибутов модели делаем в одной функции: Описание атрибутов модели делаем в одной функции:
 <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='parentService'; //имя атрибута в котором у нас объект-предок (родительское помещение/сервис/отдел и т.д.) - нужен для рекурсивных функций обхода дерева     public $parentAttr='parentService'; //имя атрибута в котором у нас объект-предок (родительское помещение/сервис/отдел и т.д.) - нужен для рекурсивных функций обхода дерева
     public function attributeData() {     public function attributeData() {
Строка 18: Строка 33:
                 'indexHint'=>'Модели можно перечислить варианты через верт. черту &quot;|&quot;',                   'indexHint'=>'Модели можно перечислить варианты через верт. черту &quot;|&quot;',  
                 //тип Input этого аттрибута в форме редактирования                 //тип Input этого аттрибута в форме редактирования
 +                //  - boolean - да / нет (чекбокс)
 +                //  - toggle - это как boolean, но только для 0 и 1 есть свои названия, напр сервис/услуга
 +                //  - radios - это как toggle, только значений может быть больше 2
 +                //  - list - это как radios, только значений прям много и оформляется в виде dropdown
                 //  - ntext - textarea (простой текст без форматирования с конвертацией nl -> <br> при рендере)                 //  - ntext - textarea (простой текст без форматирования с конвертацией nl -> <br> при рендере)
                 //  - text - текст с форматированием (какой формат прописывается в параметрах)                 //  - text - текст с форматированием (какой формат прописывается в параметрах)
Строка 24: Строка 43:
                 //  - ips - список IP                 //  - ips - список IP
                 //  - macs - список MAC                 //  - macs - список MAC
-                //  - links - список ссылок+                //  - urls - список URL 
                 //  - link - одиночная ссылка                 //  - link - одиночная ссылка
-                //  - srting - обычный текст (по умолчанию)+                //  - string - обычный текст (по умолчанию)
                 'fieldType' => 'text',                 'fieldType' => 'text',
                 //чем заполнить селектор в форме, если значение не введено                 //чем заполнить селектор в форме, если значение не введено
Строка 42: Строка 61:
                 // - true - да (по умолчанию для полей, являющихся обратными ссылками)                 // - true - да (по умолчанию для полей, являющихся обратными ссылками)
                 'absorb'=>true,                 'absorb'=>true,
 +                //что нужно заджойнить при отображении этого атрибута в списке (для жадной загрузки + поиск)
 +                'join'=>['techModel','techType']
             ],             ],
             'model'=>['alias'=>'model_id'], //значения параметров атрибута брать из model_id             'model'=>['alias'=>'model_id'], //значения параметров атрибута брать из model_id
  • инвентаризация/dev/model/fields.1746268043.txt.gz
  • Последнее изменение: 2025/05/03 10:27
  • admin