Не работает фильтр по property в USEL

Недавно наткнулся на весьма любопытную особенность протокола USEL, нигде четко не описанную, а именно, при указании фильтра по PROPERTY в USEL результат выдавался без фильтрации.

В частности, задавалось <property name="na_glavnoj" value="1">. Естественно, что указанное свойство было задано не всем страницам, а лишь одному типу данных — разделу каталога.
Сам запрос выглядел так:
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target result="pages">
<category>{parent}</category>
</target>
<property name="active">0</property>
<extended>
<properties>h1,na_glavnoj,korotkoe_nazvanie</properties>
</extended>
<property name="na_glavnoj" value="1" />
</selection>

В результате переписки с техподдержкой UMI оказалось, что в указанном запросе отсутствует четкая типизация выдаваемого результата. Вот результат того, как это должно было выглядеть. Обратите внимание на строку <type module="catalog" method="category" />

<?xml version="1.0" encoding="utf-8"?>
<selection>
<target result="pages">
<type module="catalog" method="category" />
<category>{parent}</category>
</target>
<property name="active">0</property>
<extended>
<properties>h1,na_glavnoj,korotkoe_nazvanie</properties>
</extended>
<property name="na_glavnoj" value="1" />
</selection>

С одной стороны это логично. Ведь фактически поле есть не у всех типов и, как следствие, результат должен быть именно тот, который нужен нам. Но с другой стороны есть 2 противоречащих этому факта:

  1. Цитата документации: «Внутри тега target могут находится теги type и category (Обратите внимание, что отсутствие этих тегов так же допустимо).»
  2. В той же документации нет ни единого упоминания о том, что в «property» применяется ТОЛЬКО при указании типа данных.

Так что будьте внимательны и если хотите чтобы фильтр по PROPERTY работал как нужно — указывайте тип выбираемых значений.

Простой и понятный online-курс для обучения XSLT-программиста с любого базового уровня

Фев23

2 комментария на «Не работает фильтр по property в USEL»

  1. Наталья пишет:
    04 Апр 2013 в 13:59

    Прошу прощения за офтоп, очень нужен совет!
    Пожалуйста, помогите решить простую задачу — как в блоге (на umi) спрятать сообщения под кат? Понимаю, что вопрос нелепый, тем не менее, мне как нубу, ответить на него не представляется возможным даже юзая google.
    Буду безмерно признательна за помощь.

  2. Я бы смотрел на эту проблему не как на проблему ЮМИ, а скорее как на проблему ЮМИ + HTML + CSS + JS.
    Стандартных простых способов решения нет. Можно окружить комментарий дивом фиксированной высоты, и, по определенному действию (например, клику на текст), изменять её (увеличивая или уменьшая).
    ЮМИ — очень гибкая система. Она позволяет делать очеень многое, и это плата за отсутсвие стандартных решений некоторых проблем.
    В данном случае я бы предлодил детальнее обсуждать уже конкретную реализацию.

Ваш отзыв