Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Поиск по каталогу (поиск товаров/объектов)

Автор samРаздел Шаблоны XSLT

Ответов: 14
Просмотров: 8581
Последний ответ 26 Января 2015, 12:07:22
от Axiomateria
Изменение количества товара в списке товаров и карточке товара

Автор bepluyРаздел JS и AJAX

Ответов: 2
Просмотров: 2801
Последний ответ 14 Ноября 2015, 13:52:43
от bepluy
Импортировать "Опционные свойтва" товаров в UMIDump из CML 2.0. Хэлп!

Автор Alex_nosРаздел Custom макросы

Ответов: 3
Просмотров: 4629
Последний ответ 09 Февраля 2012, 13:08:00
от admin
Добавление тегов для товаров, и вывод блока с тегами в любом месте сайта

Автор FelixTheCatРаздел Шаблоны XSLT

Ответов: 9
Просмотров: 5503
Последний ответ 26 Июля 2014, 10:58:09
от FelixTheCat
вывод рекомендованных товаров не через выбор из списка (XSLT)

Автор shotoРаздел Шаблоны XSLT

Ответов: 22
Просмотров: 13678
Последний ответ 21 Мая 2012, 13:27:35
от shoto

0 Пользователей и 1 Гость просматривают эту тему.

*

albion

  • ***
  • 109
  • +3/-0
    • Просмотр профиля
    • Веб-Админ
Умный фильтр товаров
« : 16 Июля 2011, 10:06:30 »
К примеру есть интернет магазин бытовой техники. Все товары находятся в одном каталоге, но у каждого товара есть 3 единых поля - это тип товара, бренд и к примеру цвет.

Есть ли какая нибудь возможность или кто нибудь когда нибудь такое делал:

Выводится фильтр товаров с 3 выпадающими списками. И в зависимости от выбора в одном выпадающем списки, содержание двух других изменялось. Т.е. если в качестве бренда допустим выбран Электролюкс, то в выпадающем списке тип товара остались бы только те товары, которые произвела компания Электролюкс, а в выпадающем списки цвет - остались бы наименования только того цвета товаров, которые есть в инет магазине.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Умный фильтр товаров
« Ответ #1 : 16 Июля 2011, 17:16:40 »
дефолтного способа нет, обычно для этого пишеться кастомный макрос.

по событию выбора списка делается ajax запрос к функции которая возвращает нужные цвета

*

albion

  • ***
  • 109
  • +3/-0
    • Просмотр профиля
    • Веб-Админ
Re:Умный фильтр товаров
« Ответ #2 : 17 Июля 2011, 12:10:19 »
Это понятно, что дефолтового способа нет. Вот и спрашиваю - кто нибудь когда нибудь делал такое? Может кто и выложит скрипт кастомный? :)

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Умный фильтр товаров
« Ответ #3 : 18 Июля 2011, 01:15:58 »
делал несколько раз, но каждый раз переделывал под конкретную задачу. какого единого алгоритма нет. из скриптов там выборка из базы с параметрами индивидуальными для каждой задачи +ajax обработчик срабатывающий на select onchange.

Просто выложить код не вижу смысла, в нем много будет непонятным и путающим) проще решать конкретно поставленную задачу

*

korogan

  • ***
  • 188
  • +3/-0
    • Просмотр профиля
Re:Умный фильтр товаров
« Ответ #4 : 15 Мая 2012, 21:38:31 »
Подскажите пожалуйста как такое можно реализовать на TPL шаблонизаторе

http://wiki.umisoft.ru/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0_%D0%BE%D1%82%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0

В XSL-файле, в котором формируются фильтры для поиска, пропишем вызов нашего кастомного метода (для демо сайта это файл \xsltTpls\modules\catalog\search-filter.xsl):

<xsl:apply-templates select="document(concat('udata://custom/selectart/', $document-page-id))" />

$document-page-id - переменная, в которой хранится id текущей страницы. В этом же XSL-файле пропишем шаблоны для формирования выпадающего списка:

<xsl:template match="udata[@method = 'selectart']">
  <div>
    <label>
      <span>
        <xsl:text>Артикул</xsl:text>
      </span>
      <select name="fields_filter[artikul]">
        <option>Выберите артикул</option>
        <option>---</option>
        <xsl:apply-templates select="items/item" mode="artikul" />
      </select>
    </label>
  </div>
</xsl:template>
<xsl:template match="item" mode="artikul">
  <option value="{@value}">
    <xsl:if test="@selected">
      <xsl:attribute name="selected">
        <xsl:text>selected</xsl:text>
      </xsl:attribute>
    </xsl:if>
    <xsl:value-of select="@value" />
  </option>
</xsl:template>

Кастомный метод построен таким образом, что последнее выбранное значение сохраняется после окончания поиска.

Пример результата работы метода selectart:

<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="custom" method="selectart" generation-time="0.100543">
  <items>
    <item value="Экзотика"/>
    <item value="Мечта"/>
    <item value="Luxus"/>
    <item value="Bella Vita"/>
    <item value="Verossa"/>
  </items>
</udata>

Что делать тут если у меня TPL шаблонизатор?
Объясните пожалуйста!!!