пятница, 8 июля 2011 г.

Консольные приложения (13): Отображение приложения в новом разделе

В прошлом сообщении мы создали простое консольное приложение, которое показывало список задач, разделенных на "Выполненные" и "Невыполненные".

Особенностью его является то, что оно появляется в своем собственном разделе наряду со стандартными разделами в админке ("Контент", "Функции" и т.п).


Что нужно сделать, чтобы подобное дерево элементов появилось в своем собственно разделе?


NamedParent

В файле определения в XML-элементе ElementStructure.AutoAttachments нужно добавить элемент NamedParent.

Этот элемент позволяет указать в какой раздел админки (напр., "Контент") добавить дерево элементов, выбрав одно из предопределенных значений для атрибута Name.

Но мы не хотим добавлять наше дерево в существующий раздел - мы хотим свой раздел. Поэтому в атрибуте Name кажем специально предназначенное для этих целей значение PerspectivesRoot.

Кроме обязательного атрибута Name, у элемента есть еще необязательный Position. При помощи этого атрибута можно указать положение нашего дерева в существующем разделе или нового раздела по отношению к существующим разделам - вверху (Top) или внизу (Bottom). По умолчанию - это Top.

<ElementStructure.AutoAttachments>
  <NamedParent Name="PerspectivesRoot" Position="Top"/>
</ElementStructure.AutoAttachments>

Но это еще не все.

Название раздела

Для раздела нужно задать название. Названием раздела будет значение атрибута Label самого верхнего XML-элемента Element в дереве.

<ElementRoot>
  <Children>
    <Element Id="TasksPerspective" Label="Задачи">
      ...
    </Element>
  </Children>
</ElementRoot>

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

И это тоже пока еще не все.

Разрешение на доступ к разделу

Вы входите в админку под определенным пользователем, напр., admin. Каждый пользователь принадлежит определенной пользовательской группе, напр., Adminstrator.

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

Вот как можно разрешить доступ к нашему разделу "Задачи" группе Administrator:
  1. В админке, в разделе "Система", раскрываем Группы пользователей...
  2. ... выбираем группу Administrator
  3. ... и нажимаем кнопку Изменить группу пользователей.
  4. В редакторе группы отмечаем галочкой наш раздел "Задачи"...
  5. ... и сохраняем группу.
  6. Перезапускам админку (F5).

Теперь уже все.

Новый раздел "Задачи" должен появится в самом верху в левой панели админки.

(продолжение следует...)

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

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