Выборка данных из разных типов данных с фильтрацией по определенному свойству в режиме ИЛИ

Материал из 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: