====== MFD FAQ ====== ===== Списки ===== == Что такое списки? == Списки - это способ описания типа связи "Many-to-Many" в Eaze.Model. ---- == Как правильно описать списки у объекта? == Допустим, у Вас есть объект Page и у него есть множество(массив) pageBlocks. В этом случае объект PageBlock выступает в роли связующего между объектами Page и Block. Для того, чтобы у объекта Page правильно выбирался и сохранялся массив(список) pageBlocks, необходимо описать два поля. * MFD: Page -> Many-To-Many Lists * Field Name -> Название массива у объекта. В нашем случае его значение будет **pageBlocks** * DB Name -> Идентификатор объекта Page в объекте связки PageBlock. В нашем случае его будет **pageId** * Foreign Key -> Название объекта свзяки. В нашем случае его значение будет **PageBlock** * Nullable -> В нашем случае его значение будет **Yes** * MFD: PageBlock -> Search Array * DB Name -> Поле, по которому будет происходить поиск в объекте PageBlock. В нашем случае его значение будет **pageId** * Field Name -> Служебное поле. Всегда должно иметь вид "_DB Name" В нашем случае его значение будет **_pageId** * Field Type -> Тип поля поиска. В нашем случае его значение будет **TYPE_INTEGER** * Search Type -> Тип поиска в объекте PageBlock. Следует всегда выставлять **SEARCHTYPE_ARRAY** Пример объекта Page: {{:mfd:page.jpg}} Пример объекта PageBlock: {{:mfd:pageblock.jpg}} ===== Флаги объекта (Model Flags) ===== == CanPages == Добавляет опцию постраничного вывода экземпляров данного объекта. ---- == CanRevisions == Добавляет опцию поддержки версионности экземпляров объекта на уровне BaseFactory. Требует наличия двух полей у объекта: поля lastRevision типа Boolean со значением по умолчанию "true" и поля branchId типа Integer со значением атрибута Nullable "Yes". ---- == CanCache == Добавляет опцию кэширования экземпляра объекта. Период обновления кэша указывается во вкладке "Template" в поле "Default Cache Time" в секундах. Если в поле указано значение "0", то будет использоваться время по умолчанию (3600 сек.) ---- == CanLanguages == Добавляет опцию многоязыковой поддержки. **Не реализовано.** ---- == IsTree == Указывает на то, что объект поддерживает древовидную структуру хранения его экземпляров. ---- == IsLocked == Если указан этот флаг, то при генерации кода не будет сгенерирован файла класса для данного объекта. ---- == Without Templates == Если указан этот флаг, то при генерации кода не будут сгенерированы шаблоны для данного объекта. ---- == ReadOnly Templates == Если указан этот флаг, то при генерации кода будут сгенерированы **только** шаблоны просмотра экземпляров объекта.