Рассмотрим еще один пример консольного приложения - того, которое используется в пакете Composite.Community.Blog.
Для начала установите это пакет из раздела “Система”, а затем в папке ~\App_Data\Composite\TreeDefinitions\ откройте файл Composite.Community.Blog.Entries.xml (например, в Visual Studio).
Как и в любом другом консольном приложении, корневой элемент <ElementStructure> включает в себя два дочерних элемента:
Главное отличие этой части от предыдущих примеров это использование <ElementStructure.AllowedAttachments> вместо <ElementStructure.AutoAttachments>
Когда вы используете AllowedAttachments, то приложение не будет появляться в админке автоматически. Пользователь самостоятельно должен будет добавить приложение через контекстное меню того элемента, к которому приложение может добавляться.
Чтобы это было возможным, нужно:
В случае с блогом, его записи привязываются к определенной странице, поэтому в этом атрибуте нужно указать тип данных для страниц в C1: Composite.Data.Types.IPage.
Теперь, можно добавить это приложение к любой из страниц в разделе “Контент”. Для этого нужно:
В результате приложение добавит свою древовидную структуру под страницу.
В случае с блогом, корневым элементом структуры в админке будет Blog Entries.
О том как управлять подключением приложения вручную мы разобрались, теперь нужно рассмотреть, как именно строится структура элементов приложения, что нам уже известно, а что - еще нет.
Предыдущие сообщения по теме:
Для начала установите это пакет из раздела “Система”, а затем в папке ~\App_Data\Composite\TreeDefinitions\ откройте файл Composite.Community.Blog.Entries.xml (например, в Visual Studio).
Как и в любом другом консольном приложении, корневой элемент <ElementStructure> включает в себя два дочерних элемента:
- <ElementStructure.AllowedAttachments> - для управления подключением приложения в админке
- <ElementRoot> - для создания дерева элементов и действий над ними
<ElementStructure xmlns="http://www.composite.net/ns/management/trees/treemarkup/1.0" xmlns:f="http://www.composite.net/ns/function/1.0">
<ElementStructure.AllowedAttachments ApplicationName="Blog">
<DataType Type="Composite.Data.Types.IPage"/>
</ElementStructure.AllowedAttachments>
<ElementRoot>
<!-- дерево элементов -->
</ElementRoot>
</ElementStructure>
<ElementStructure.AllowedAttachments ApplicationName="Blog">
<DataType Type="Composite.Data.Types.IPage"/>
</ElementStructure.AllowedAttachments>
<ElementRoot>
<!-- дерево элементов -->
</ElementRoot>
</ElementStructure>
Главное отличие этой части от предыдущих примеров это использование <ElementStructure.AllowedAttachments> вместо <ElementStructure.AutoAttachments>
Когда вы используете AllowedAttachments, то приложение не будет появляться в админке автоматически. Пользователь самостоятельно должен будет добавить приложение через контекстное меню того элемента, к которому приложение может добавляться.
Чтобы это было возможным, нужно:
- Использовать элемент <ElementStructure.AllowedAttachments> (как я уже сказал).
- В его единственном атрибуте ApplicationName указать соответственно имя вашего приложения (в данном случае это “Blog”). Оно появиться в диалоговом окне при добавлении приложения.
- В дочернем элементе <DataType/> указать тип элемента в дереве админке, к которому можно будет подключать приложение, в атрибуте Type.
В случае с блогом, его записи привязываются к определенной странице, поэтому в этом атрибуте нужно указать тип данных для страниц в C1: Composite.Data.Types.IPage.
Теперь, можно добавить это приложение к любой из страниц в разделе “Контент”. Для этого нужно:
- Выбрать нужную страницу и вызвать ее контекстное меню.
- В контекстном меню выбрать пункт Добавить приложение.
- В диалоговом окне в списке Приложение выбрать наше приложение по названию (Blog)
- Там же в списке Позиция выбрать куда добавлять приложение под страницей относительно других приложений, если таковые у страницы уже имеются: вверху (Top) или внизу (Bottom). В нашем случае это не имеет значения, так как мы добавляем первое приложение.
В результате приложение добавит свою древовидную структуру под страницу.
В случае с блогом, корневым элементом структуры в админке будет Blog Entries.
О том как управлять подключением приложения вручную мы разобрались, теперь нужно рассмотреть, как именно строится структура элементов приложения, что нам уже известно, а что - еще нет.
Предыдущие сообщения по теме:
- Консольные приложения (1): Введение
- Консольные приложения (2): Определение приложения. Тип подключения
- Консольные приложения (3): Определение приложения. Древовидная структура
- Консольные приложения (4): Динамические поля
- Консольные приложения (5): Представление данных
- Консольные приложения (6): Стандартные действия
Комментариев нет:
Отправить комментарий