Здесь показаны различия между двумя версиями данной страницы.
— |
mfd:faq [2011/09/12 13:18] (текущий) sergeyfast создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== 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 == | ||
+ | Если указан этот флаг, то при генерации кода будут сгенерированы **только** шаблоны просмотра экземпляров объекта. |