UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: muldy от 15 Сентября 2013, 20:32:48

Название: Вывод одного фильтра на всех страницах?
Отправлено: muldy от 15 Сентября 2013, 20:32:48
Здравствуйте!
Как вывести один фильтр на всех страницах категорий, те сейчас фильтр работает в таком режиме выбирает в определенной категории параметры и фильтрует их!
А мне надо чтобы при фильтрации товаров отфильтрованные товары выводились на одной странице, те фильтровались все подкатегории!
Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: admin от 16 Сентября 2013, 12:49:22
в вашем вопросе есть неточность, вы хотите вывести везде один фильтр (в данном случае разговор идет о форме для фильтрации), а затем вы говорите что хотите фильтровать все товары, а не только те которые в конкретном разделе.

Раскрывайте ваш вопрос.
Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: muldy от 16 Сентября 2013, 15:01:55
Да тут я немного накрутил вопрос)
Требуется вывести форму фильтрации везде одну и туже и соотвественно при применении фильтра он должен фильтровать именно весь каталог!
Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: admin от 16 Сентября 2013, 16:48:11
Тогда для вывода фильтра вы можете использовать 4 параметр (type_id), в макросе catalog search(). Тем самым, вы укажите тип данных, который содержит поля для фильтра, которые вы хотели бы видеть (то есть, система при выводе фильтра будет отталкиваться не от товаров которые лежат в текущем каталоге, а от типа данных).

Для вывода всех товаров, неважно на какой странице, при помощи макроса %catalog getObjectsList()% (http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getobjectslist/) вы:
-  либо пользуетесь параметром category_id равным mode=all,
-  либо пользуетесь параметром  i_need_deep,


Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: muldy от 22 Сентября 2013, 21:48:41
В итоге я так и не понял как мне реализовать!
При использовании type_id, да все ок выводится нужные параметры!
А как мне например фильтровать в отдельно взятой категории различные параметры так и не понял!?
Ведь вывод осуществляется при помощи макроса - catalog getObjectsList(), и если я изменю параметры вывода то и товары будут выводится по другому разве нет?

В моем случае мне кажется лучше сделать редирект с параметрами, те пользователь выбирает нужный ему параметр и эти параметры берутся и происходит редирект в основную категорию!
Мне кажется это более интересный вариант, но как его осуществить, не совсем понимаю)
Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: admin от 23 Сентября 2013, 11:42:40
судя по вашим словам вам нужна такая логика:

1. есть страница (пусть странца основного раздела) на котторой выводятся все товары и выводить фильтр для определенного type_id (то есть самый общий фильтр) и вывести на этой тсранице все товары используя спец вызов getObjectsList
2. во всех подразделах вы выводите фильтр без указания type_id. В результате чего система всегда будет сама определять нужный тип данных и выводить фильтр согласно полученному типу данных. Для этого, вам достаточно выставить галочки "фильтровать" в соответствующих типах данных у соответствующих полей.

в итоге у вас получиться шаблон для всех разделов и особый шаблон для корневого раздела со всеми товарами
Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: Axiomateria от 09 Февраля 2014, 11:33:43
Тогда для вывода фильтра вы можете использовать 4 параметр (type_id), в макросе catalog search(). Тем самым, вы укажите тип данных, который содержит поля для фильтра, которые вы хотели бы видеть (то есть, система при выводе фильтра будет отталкиваться не от товаров которые лежат в текущем каталоге, а от типа данных).

То есть если у меня type_id (раздел каталога) равен значению 82 или 132 (объекта каталога), то вызов фильтра по товарам должен быть таки:
<xsl:apply-templates select="document('udata://catalog/search///(82)')/udata" />
<xsl:apply-templates select="document('udata://catalog/search///(132)')/udata" />
?
Однако на главной странице и в разделах каталога, кроме последнего где товары лежат, ни чего не выходит.
Опять я напутал что-то?
Название: Re:Вывод одного фильтра на всех страницах?
Отправлено: admin от 14 Мая 2014, 12:24:32
Тогда для вывода фильтра вы можете использовать 4 параметр (type_id), в макросе catalog search(). Тем самым, вы укажите тип данных, который содержит поля для фильтра, которые вы хотели бы видеть (то есть, система при выводе фильтра будет отталкиваться не от товаров которые лежат в текущем каталоге, а от типа данных).

То есть если у меня type_id (раздел каталога) равен значению 82 или 132 (объекта каталога), то вызов фильтра по товарам должен быть таки:
<xsl:apply-templates select="document('udata://catalog/search///(82)')/udata" />
<xsl:apply-templates select="document('udata://catalog/search///(132)')/udata" />
?
Однако на главной странице и в разделах каталога, кроме последнего где товары лежат, ни чего не выходит.
Опять я напутал что-то?

если вопрос еще актуален... вы type-id вставляете 3-им  параметром, а нужно 4-ым.
<xsl:apply-templates select="document('udata://catalog/search////82')/udata" />
<xsl:apply-templates select="document('udata://catalog/search////132')/udata" />