Выборка данных из разных типов данных с фильтрацией по определенному свойству в режиме ИЛИ
Материал из Umicms
Версия от 19:12, 29 июня 2013; Velross (обсуждение | вклад) (Новая страница: «'''Актуально для 2.9''' ---- '''Задача:''' Получить страницы в результате выборки по различным тип…»)
Актуально для 2.9
Задача: Получить страницы в результате выборки по различным типам данных (страница контента, лента новостей, фотоальбом и др.) с фильтрацией по определенному свойству в режиме ИЛИ.
Решение: Для решения данной задачи использовать Usel-выборку не получится, так как usel будет работать в режиме ИЛИ только до тех пор, пока не задана фильтрация в теге <property /> . В этом случае, свойство, указанное в данном теге, будет искаться только в том типе, который указан в первом теге <type />, т.е. следующая выборка не принесет ожидаемого результата:
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target expected-result="pages">
<type module="content" method="page"/>
<type module="news" method="rubric"/>
<type module="photoalbum" method="albums" />
<category depth="1">{1}</category>
</target>
<property name="pokazyvat" value="1" />
</selection>
Для решения задачи необходимо писать кастомный макрос с использованием API Selector: