Фильтрация по одному значению, а не по нескольким

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

alexneuro
alexneuro

Сообщение #1 alexneuro » 01.04.2017, 21:30

Проблема в следующем. При выборе фильтра, к примеру объем 10мл, первый раз к url прибавляется obiem-10ml. Если после этого выбрать 30мл, то к тому url прибавится 30ml, то есть будет url ...obiem-10ml_30ml. Таким образом фильтр показывает как товары 10мл, так и 30мл. Подскажите, как можно сделать так, чтобы url всегда менялся по выбранному фильтру для конкретного значения. в файле features.tpl фильтр формируется следующим образом:
{foreach $f->options as $o}
<option {if $smarty.get.{$f@key} && in_array($o->translit,$smarty.get.{$f@key})} selected{/if} value="{furl params=[$f->url=>$o->translit, page=>null]}">{$o->value|escape}</option>
{/foreach}

korshunov
korshunov
Репутация: 99
Сообщения: 959
Зарегистрирован: 03.12.2015
С нами: 3 года 4 месяца
Skype

Сообщение #2 korshunov » 02.04.2017, 06:37

ProductsView.php

Вместо
$result_array['features'][$k][] = $v;
вставляйте
$result_array['features'][$k][0] = $v;

А вообще, ИМХО, Ваш вопрос - классический пример того, как хороший фильтр с богатыми возможностями превратить в заурядный...

softmobidev
softmobidev
Репутация: 3
Сообщения: 78
Зарегистрирован: 16.02.2018
С нами: 1 год 2 месяца

Сообщение #3 softmobidev » 09.04.2019, 10:23

подскажите пожалуйста как в версии 2.3.2 такое сделать? там поменялся код теперь такого нет как вы написали :(


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость