среда, 1 июня 2011 г.

Консольные приложения (7): Ручное подключение

Рассмотрим еще один пример консольного приложения - того, которое используется в пакете Composite.Community.Blog.

Для начала установите это пакет из раздела “Система”, а затем в папке ~\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> вместо <ElementStructure.AutoAttachments>

Когда вы используете AllowedAttachments, то приложение не будет появляться в админке автоматически. Пользователь самостоятельно должен будет добавить приложение через контекстное меню того элемента, к которому приложение может добавляться.

Чтобы это было возможным, нужно:

  1. Использовать элемент <ElementStructure.AllowedAttachments> (как я уже сказал).
  2. В его единственном атрибуте ApplicationName указать соответственно имя вашего приложения (в данном случае это “Blog”). Оно появиться в диалоговом окне при добавлении приложения.
  3. В дочернем элементе <DataType/> указать тип элемента в дереве админке, к которому можно будет подключать приложение, в атрибуте Type.

В случае с блогом, его записи привязываются к определенной странице, поэтому в этом атрибуте нужно указать тип данных для страниц в C1: Composite.Data.Types.IPage.

Теперь, можно добавить это приложение к любой из страниц в разделе “Контент”. Для этого нужно:

  1. Выбрать нужную страницу и вызвать ее контекстное меню.
  2. В контекстном меню выбрать пункт Добавить приложение.

  3. В диалоговом окне в списке Приложение выбрать наше приложение по названию (Blog)
  4. Там же в списке Позиция выбрать куда добавлять приложение под страницей относительно других приложений, если таковые у страницы уже имеются: вверху (Top) или внизу (Bottom). В нашем случае это не имеет значения, так как мы добавляем первое приложение.


В результате приложение добавит свою древовидную структуру под страницу.


В случае с блогом, корневым элементом структуры в админке будет Blog Entries.

О том как управлять подключением приложения вручную мы разобрались, теперь нужно рассмотреть, как именно строится структура элементов приложения, что нам уже известно, а что - еще нет.

Предыдущие сообщения по теме:

Комментариев нет:

Отправить комментарий