UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: shoto от 08 Февраля 2016, 17:18:22

Название: Проблема с выборкой через usel
Отправлено: shoto от 08 Февраля 2016, 17:18:22
Добрый день!

Давно не разбиралась с xslt и usel, и вот возникла необходимость.
Есть раздел Аксессуары, в нем есть товары, у которых есть чекбоксы для выбора типа товара к которому они подходят. Их к счастью не много.
Идея была такая:
взять usel, и вывести благодаря ему только те аксессуары, у которых чекбокс стоит у конкретного значения.

Допустим, если товар ВС, у Аксессуара есть чекбокс "ВС"
<property id="478" name="vs" type="boolean">
<title>ВС</title>
<value>1</value>
</property>

Есть usel:
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target result="pages">
<type module="catalog" method="object" />
<category depth="0">3304</category>
</target>
<property name="vs" value="1" />
<sort>rand()</sort>
<limit page="0">{limit}</limit>
</selection>

Есть даже вроде как вызов usel
Цитировать
<xsl:apply-templates select="document('usel://access-vs')/udata" mode="acses" />

Но при проверке usel запроса выходит вот такое сообщение:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" generation-time="0.027962">
<error>
Field "vs" is not presented in selected object types
</error>
</udata>

Подскажите, что я упускаю из вида? Где у меня косяк может быть?
Название: Re: Проблема с выборкой через usel
Отправлено: crazygeorgio от 08 Февраля 2016, 20:19:22
скорее всего поле ВС есть у дочерних типов Объекта каталога, а у самого типа Объекта каталога нет, или у других подтипов его нет, можно явно указать тип по id <type id="XXX" />
Название: Re: Проблема с выборкой через usel
Отправлено: shoto от 09 Февраля 2016, 08:28:47
скорее всего поле ВС есть у дочерних типов Объекта каталога, а у самого типа Объекта каталога нет, или у других подтипов его нет, можно явно указать тип по id <type id="XXX" />
Да, вы абсолютно правы. Постоянно забываю что сначала надо создать нужное поле в "Объекте каталога", а не в дочернем типе.
Название: Re: Проблема с выборкой через usel
Отправлено: shoto от 09 Февраля 2016, 09:54:38
Второй вопрос:
Есть некоторые аксессуары, которые различаются только габаритами и соответственно применяются только для товаров с такими же габаритами.
Как можно организовать usel выборку так чтобы выводились товары не только те, у которых стоит чекбокс что это аксессуар для конкретной серии товара, но и для конкретного товара с определенными габаритами.
Т.е. у меня получается выборка по двум параметрам.
Но второй параметр необходимо учитывать только если он у аксессуара есть.
Как можно реализовать подобное?
Название: Re: Проблема с выборкой через usel
Отправлено: crazygeorgio от 11 Февраля 2016, 00:10:39
не особо понятно... т.е. должны выводиться объекты у которых стоит определенный чекбокс либо товары с заданными конкретными габаритами? габариты как задаются? значением из списка? типа маленький/средний/большой?
Название: Re: Проблема с выборкой через usel
Отправлено: shoto от 11 Февраля 2016, 08:23:42
Есть выпадающий список у товара и у аксессуара, "ширина изделия".
Необходимо чтобы выводился аксессуар у товара, если совпадает в том числе и их ширина.
Например:
Товар серии А, №1 - ширина 10
Товар серии А, №2 - ширина 20
Товар серии А, №3 - ширина 50

Товар серии В, №1 - ширина 10
Товар серии В, №2 - ширина 20
Товар серии В, №3 - ширина 40

Аксессуары бывают для конкретной серии товара. Т.е. есть чекбокс у аксессуара что он соответствует серии А или серии В, а так же у него есть выпадающий список для выбора ширины аксессуара. Но есть аксессуары у которых нет параметра "ширина" он соотносится только по серии товара.
Вот и вопрос, возможно ли корректно в одном запросе написать выборку аксессуаров для товара, в которой бы учитывался постоянный параметр "Серия" и переменный параметр "ширина"
Название: Re: Проблема с выборкой через usel
Отправлено: crazygeorgio от 11 Февраля 2016, 12:56:37
<option name="or-mode" value="1" /> не работает?