среда, 4 мая 2011 г.

Консольные приложения (1): Введение

В C1 у вас есть возможность изменить внешний вид и поведение админки при помощи так называемых “консольных приложений” на основе “определений древовидных структур” (tree definitions). Консоль, в данном случае - это “административная консоль”, т.е. админка. Отсюда и название приложений.

Каждое такое приложение - это фактически XML-файл (“определение древовидной структуры”), в котором при помощи специальной разметки создается новая или используется существующая древовидная структура для админки. К элементам такой структуры можно добавлять стандартные комманды С1, а также свои собственные.

Начнем с примера.

В папке /App_Data/Composite/TreeDefinitions вашего сайта создайте XML файл PageGuid.xml с таким содержанием:

<?xml version="1.0" encoding="utf-8" ?>
<ElementStructure
  xmlns="http://www.composite.net/ns/management/trees/treemarkup/1.0"
  xmlns:f="http://www.composite.net/ns/function/1.0">

  <ElementStructure.AutoAttachments>
    <DataType Type="Composite.Data.Types.IPage" />
  </ElementStructure.AutoAttachments>

  <ElementRoot>
    <Actions>
      <MessageBoxAction Label="GUID"
        MessageBoxTitle="${C1:Data:Composite.Data.Types.IPage:Title}"
        MessageBoxMessage="${C1:Data:Composite.Data.Types.IPage:Id}" />
    </Actions>
  </ElementRoot>

</ElementStructure>

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


Нажав эту кнопку, мы вызовем диалоговое окно, которое покажет нам идентификатор страницы.


Это очень простое приложение. Все что он делает - добавляет новую команду к страницам: показывать диалоговое окно.

Но реальные приложения этим не ограничиваются. Как я уже говорил, вы можете:

  • добавлять команды (как стандартные, так и свои) к существующим элементам древовидных структур админки в разных разделах - к страницам, шаблонам, функциям и т.п (в панели навигации, слева).
  • добавлять древовидные структуры в различные разделы админки, созданные на основе существующих типов данных, так и на основе своих.
  • создавать свои разделы и добавлять уже там свои структуры и команды

А сейчас давайте немного поподробнее остановимся на синтаксисе, который используется в примере выше, чтобы понять, как все работает.

(продолжение)

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

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