вторник, 8 февраля 2011 г.

XSLT функции: (2) Использование фильтра

Для каждого типа данных C1 автоматически создает несколько типов фильтров.

Мы воспользуемся одним из них - FieldPredicatesFilter. В качестве предиката для поля Id мы вызовем функцию GuidEquals, и используя функцию GetPageId, укажем идентификатор текущей страницы для значения предиката.
А теперь по порядку.
  1. На вкладке Вызовы функций, выберем параметр Filter у функции Composite.Data.Types.IPage.GetIPageXml...
  2. ... и в качестве Типа параметра вызовем Функцию: Composite.Data.Types.IPage.FieldPredicatesFilter.
  3. Теперь для параметра Id filter функции FieldPredicatesFilter тоже вызовем функцию: Composite.Utils.Predicates.GuidEquals.
  4. И наконец, для параметра The value to compare with функции GuidEquals вызовем функцию Composite.Pages.GetPageId.
  5. И сохраним функцию.
Вот для наглядности снимок экрана - должно получится так:



По умолчанию функция GetPageId возвращает идентификатор именно текущей страницы. На вкладке Просмотр, можно увидеть, что теперь возвращается только один элемент.

<in:result name="GetIPageXml">
  <IPage ChangeDate="2011-02-08T08:50:48.8396493+02:00" xmlns=""/>
</in:result>

(Этот элемент - страница, выбранная на вкладке Настройки в группе Отладка, и ее конечно же можно поменять - для отладки.)

Теперь в шаблоне нашей функции воспользуемся значением поля ChangeDate.

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

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