Краткое описание пакета ng.zcmlmultiform
========================================

Пакет разработан для создание форм редактирования контента компоновкой
нескольких субформ, каждая из которых ответственна за редактирование одного
из интерфейсов контент-компонента.

Каждая субформа отображается только при наличии у компонента необходимого ей
интерфейса, что позволяет строить универсальные формы, позволяющие
редактировать широкий спектр компонент.

Такие формы сходны по своему применению с контекстными меню, но в отличие от
них, позволяют минимизировать количество переходов между страницами
редактирования, сведя их к одной странице.

Описание директив
-----------------

Продукт вводит две директивы: multiform и multiformitem, которые соотносятся
между собой примерно как директивы menu и menuitem: первая директива
описывает место под содержимое, вторая - само содержимое.

multiform
~~~~~~~~~~~~~

Эта директива позволяет определить мультиформу, собираемую из нескольких
форм. Вхождение формы в мультиформу определяется указанием интерфейса в поле
manager директивы multiform и multiformitem: они должны совпадать либо
состоять в определенных отношениях наследования.

 name : TextLine 
    Имя страницы с мультиформой в вебинтерфейсе.
    
 permission : Permission
    Допуск, необходимый для использования страницы с мультиформой.
    
 class  : GlobalObject 
    Класс, предоставляющий вспомогательные атрибуты и функции
    виду мультиформы
 
 for : GlobalObject 
    Интерфейс или класс для которого будет предоставлена страница
    с мультиформой.

 label : MessageID 
    Заголовок мультиформы.

 layer : GlobalInterface
    Скин, в который входит эта страница.
 
 manager : GlobalObject 
    Интерфейс, используемый для связывания страницы с составляющими ее формами.

 menu : MenuField 
    Меню, включающее страницу с этой мультиформой. Многие виды включаются
    в меню. Указать имя меню в директиве определания мультиформы удобнее,
    чем добавлять отдельную дерективу menuItem.

 template : Path (по умолчанию = None)
    Темплейт страницы. Ссылается на файл, содержащий темплейт страницы
    (должен заканчиваться расширением ".pt" или ".html").
 
 title : MessageID
    Названия пункта меню для этой страницы. Необходимо указывать этот
    атрибут при указании атрибута "menu".

mulltiformitem
~~~~~~~~~~~~~~
Эта директива используется для описания элемента мультиформы и сходна
со всеми другими директивами описания форм.

 permission : Permission
    Допуск, необходимый для использования страницы с формами.

 schema : GlobalInterface
    Схема, по которой генериться форма.

 class : GlobalObject 
    Класс, предоставляющий вспомогательные атрибуты и функции
    данной форме.

 for : GlobalObject 
    Интерфейс или класс для которого будет предоставлена эта форма.
    
 layer : GlobalInterface 
    Скин, в который входит эта страница.

 manager : GlobalObject
    Интерфейс, используемый для связывания страницы с составляющими ее формами.

 name : TextLine (по умолчанию = None)
    Имя формы, используется для различения форм во внутреннем
    алгоритме отображения.

 order : Int (по умолчанию = None)
    Порядковый номер формы на странице.
    
 template : Path 
    Темплейт формы. Ссылается на файл, содержащий темплейт 
    (должен заканчиваться расширением ".pt" или ".html").
 
Поддиректива widget
...................

Регистрирует виджет, что бы настроить форму. Эта директива позволяет вам
быстро генерировать директивы, настаивающие виджеты для формы.  Кроме двух
обязательных аргументов, поля и класс, вы можете специфицировать любое
количество ключевых аргументов, таких как style='background-color:#fefefe;'.
Эти ключевые аргументы будут сохранены как атрибуты экземпляра виджета. Что
бы понять какие ключевые аргументы имеют смысл, вы должны посмотреть код
класса, указанного виджета.

 field : TextLine 
    Имя поля. Имя поля/атрибута/свойства для которого этот виджет будет
    использован.
    
 class : GlobalObject 
    Класс виджета. Класс который будет создавать виджет.    
