UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: shoto от 02 Августа 2012, 11:43:00

Название: Смена последовательности фильтруемых параметрах в фильтре XSLT
Отправлено: shoto от 02 Августа 2012, 11:43:00
Добрый день.
Может конечно плохо искала, но не нашла...

Мне надо поменять последовательность параметров в фильтре.
Сейчас первым выводится Цена, а потом уже Производитель.
<div class="left"><div class="grade">
<label style="float:left;"><span>Цена от</span><input type="text" name="fields_filter[price][0]" value="" class="textinputs" style="width:100px;"></label>
<label class="right"><span>до</span><input type="text" name="fields_filter[price][1]" value="" class="textinputs" style="width:100px;"></label>
    <div style="float:left; width:160px;">
    <label><span>Производитель</span>
    <select name="fields_filter[proizvoditel]" style="width:150px;">
    <option></option>
    <option value="17084">Amazonas</option>
    <option value="17111">AngelCare</option>
    </select></label>
    </div>
</div></div>
Как изменить, если возможно, в шаблоне catalog/search-filter.xsl, что бы блок с производителем выходил выше кода для фильтра по цене?
Название: Re:Смена последовательности фильтруемых параметрах в фильтре XSLT
Отправлено: admin от 02 Августа 2012, 11:56:26
последовательность вывода задается положение полей в группах полей заданного типа данных и последовательностью групп полей перечисленных при вызове макроса udata/catalog/search

1. можно поменять местами поля или группы полей в интересующем вас типе данных
2. можно поменять последовательность группы полей при вызове макроса
3. менять последоватльность вывода средствами xslt, js или css
Название: Re:Смена последовательности фильтруемых параметрах в фильтре XSLT
Отправлено: shoto от 02 Августа 2012, 12:01:58
1) последовательность полей в шаблоне данных меняла. блок с производителем был выше блока с ценой - эффекта не последовало.
2)последовательность групп полей в макросе такова, то шаблон для вывода  выпадающих списков стоит выше шаблона для цены
3)css понятно, а xstl?
Название: Re:Смена последовательности фильтруемых п
Отправлено: shoto от 02 Августа 2012, 12:11:21
1) но эффекта не последовала потому что поменяла в родительском разделе "Объект каталога" и не поменяла в дочернем.
так что вопрос закрыт:)
Название: Re:Смена последовательности фильтруемых параметрах в фильтре XSLT
Отправлено: admin от 02 Августа 2012, 17:15:33
отлично) только поясню

2. надо менять местами не шаблоны xslt, а группы полей при вызове макроса, то есть если у нас 2 группы полей в шаблоне данных "Объект каталога":
- Ценовые свойства [cenovye_svojstva],  внутри которого лежит поле "Цена"
- прочие параметры [customs], внутри которых лежит поле "производитель"

мы делаем вместо стандартного макроса
<xsl:apply-templates select="document('udata://catalog/search')/udata" />
такой вызов:
<xsl:apply-templates select="document('udata://catalog/search//(customs)(cenovye_svojstva)')/udata" />

3. средствами xslt - это означает, что мы в шаблоне, который выводит результаты работы макроса /udata/catalog/search/ тем или иным способом меняем последовательность узлов field в полученном xml