четверг, 30 декабря 2010 г.

Представление данных с помощью визуальных функций

Визуальные функции - самый простой способ вывести данные на страницу из определенного типа данных. Для создания визуальной функции не нужно уметь работать с XML/XSLT и тем более C#. Все - визуально :)

Давайте сначала создадим визуальную функцию для нашего типа данных Demo.News. Для создания визуальной функции нужно, чтобы в тип данных был добавлен хотя бы один элемент данных. (А это мы уже сделали.)
  1. В разделе "Функции" (Functions) выбираем узел Visual functions и нажимаем кнопку Add Visual Function.
  2. В мастере для поля типа данных (Datatype) выбираем наш тип данных. Он будет представлен без пространства имен, просто как News. Нажимаем Next.
  3. В следующем шаге мастера соглашаемся с тем, как мастер заполнил поля Function name (имя функции) и Function namespace (пространство имен функции). Если вы все сделали правильно, то значения полей будут NewsRendering и Demo соответственно.
  4. И нажимаем Finish. Функция открывается в редакторе.

Но, в принципе, наша визуальная функция Demo.NewsRendering готова и редактировать ее не нужно. Но если есть желание, то можно немного поэкспериментировать:
  • На вкладке Visual Function Settings (настройки) можно указать сколько элементов данных функция должна выводить за один раз (Item list length), по какому полю сортировать данные (Item sorting), как сортировать - по возрастанию или по убыванию (List sort order) и прочее.
  • На вкладке Visual Layout (макет) можно изменить расположение полей (представленных графически), удалить лишние, добавить нужные (Insert | Field | нужное поле). По умолчанию, функция выводит значения всех полей в таблице.
  • На вкладке Preview (предварительный просмотр) можно посмотреть предварительно, как все будет выглядеть на странице.
А теперь давайте добавим функцию Demo.NewsRendering на страницу:
  1. В разделе "Контент" (Content) открываем нужную страницу для редактирования (Edit Page). 
  2. На вкладке "Контент" (Content) страницы, открываем окно выбора функции (Insert | Function)
  3. Раскрываем All functions | Demo, выбираем функцию NewsRendering и жмем OK.
  4. В окне свойств тоже жмем ОК и сохраняем страницу. 
Теперь можно либо перейти на вкладку Preview и посмотреть, что именно выводи функция, либо опубликовать страницу (Publish) и посмотреть ее в браузере.

Опять же при большом желании можно можно поэкспериментировать с параметрами функции. Все они необязательные и уже имеют значения по умолчанию. Их четыре:
  • List Filter (Фильтр списка): Фильтровка элементов при помощи функций фильтрования (об этом позже). По умолчанию - фильтров нет.
  • Item list length (Длина списка элементов): см. выше. По умолчанию - 10 элементов. 
  • Item sorting (Сортировка элементов): см. выше. По умолчанию - поле определенное в типе данных как титульное (об этом позже)
  • Sort ascending (Сортировать по возрастанию): см. выше. По умолчанию - да.
(Подробнее о визуальных функциях можно почитать здесь на английском языке.)

Однако есть другой способ представления данных, который вы будете скорее всего использовать - с помощью XSLT-функций.

  1. Создание типа данных
    1. Создание глобального типа данных
    2. Добавление полей в тип данных
    3. Замена виджета поля
  2. Добавление данных в тип данных
  3. Представление данных с помощью визуальных функций
  4. Представление данных с помощью XSLT-функций
    1. Создание XSLT-функции
    2. Вызов другой функции из XSLT-функции
    3. Преобразование XML в шаблоне XSLT-функции
    4. Использование XSLT-функции на странице

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

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