1 Отредактировано Vladimir (04.09.2016 17:37:01)

Тема: Фильтр Да\Нет в виде чекбокса (галочки)

Прошу помочь изменить стандарный вид фильтра да-нет на следующее:

Название фильтра и с ним рядом не выпадающий список да-нет (есть\нет), а просто одна галочка, при нажатии фильтр оставляет все товары, где значение присвоено (установлено ДА), при снятии галочки возврат к исходному (не выбрано).

Стандартный код шаблона вывода фильтра да\нет:

<div style='padding: 0px; margin: 0px; margin-bottom:4px;' class="filter">
   <hr style='height:1px;  background: #e1e1e1; margin-bottom: 3px;'><b>{$prop.title}:</b>
   <div style='float: right;'><select class="yesno" name="pf[{$prop.id}]" data-start-value="">
        <option value="">{t} Не выбрано {/t}</option>
        <option value="1" {if $filters[$prop.id] == '1'}selected{/if}>{t}Есть{/t}</option>
        <option value="0" {if $filters[$prop.id] == '0'}selected{/if}>{t}Нет{/t}</option>
    </select>
    </div>
</div>

Спасибо. Было бы удобно для многих.
ПС: прошу не предлагать использовать строковые\списковые фильтры, есть значимые нюансы.

Повысить оценку Понизить оценку

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Попробуйте вместо:

<select class="yesno" name="pf[{$prop.id}]" data-start-value="">
        <option value="">{t} Не выбрано {/t}</option>
        <option value="1" {if $filters[$prop.id] == '1'}selected{/if}>{t}Есть{/t}</option>
        <option value="0" {if $filters[$prop.id] == '0'}selected{/if}>{t}Нет{/t}</option>
    </select>

Поставить:

<input type=['checkbox'] name="pf[{$prop.id}]" data-start-value="" value=1 {if $filters[$prop.id] == '1'}checked{/if}/>

3

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Не работает. Вместо чекбокса теперь выводит поле ввода текста, в котором указано значение 1.

Повысить оценку Понизить оценку

4 Отредактировано Закусило Александр (06.09.2016 11:53:26)

Re: Фильтр Да\Нет в виде чекбокса (галочки)

По умолчанию будет текст, если тип поля не определён. Поменяйте

<input type=['checkbox']

На

<input type='checkbox'

Это опечатка у меня. Я надеялся что заметите smile

5 Отредактировано Vladimir (07.09.2016 00:34:33)

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Я это убирал, по итогу не выводится вообще ничего, только название фильтра.

Переделал, заработало во так:
 

<input type="checkbox" data-start-value="0" value="1" name="pf[{$prop.id}]" class="cb"   id="cb_{$prop.id}" {if $filters[$prop.id]=='1'}checked{/if} />
<label for="cb_{$prop.id}"></label>

Только он теперь показывается в рубриках, товары которых не отмечены данным фильтром, т.е. во всех рубриках.

Повысить оценку +1 Понизить оценку

6 Отредактировано Закусило Александр (07.09.2016 13:13:50)

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Только он теперь показывается в рубриках, товары которых не отмечены данным фильтром, т.е. во всех рубриках.

Ну Вы скорее всего вынесли Ваш checkbox за рамки

{foreach from=$prop_list item=item}
            {foreach from=$item.properties item=prop}

Поэтому везде и показывается.
Там же перебираются отменные как фильтры характеристики принадлежащие категории, в которой должна быть и Ваша характеристика. Ну ли у Вас  она отмечена в категории Все.

7

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Закусило Александр пишет:

Только он теперь показывается в рубриках, товары которых не отмечены данным фильтром, т.е. во всех рубриках.

Ну Вы скорее всего вынесли Ваш checkbox за рамки

{foreach from=$prop_list item=item}
            {foreach from=$item.properties item=prop}

Поэтому везде и показывается.
Там же перебираются отменные как фильтры характеристики принадлежащие категории, в которой должна быть и Ваша характеристика. Ну ли у Вас  она отмечена в категории Все.

За рамки не вынесен, редактируется только шаблон самого фильтра. Эти рамки находятся в другом шаблоне, его не редактировал. В категории "Все" фильтр не отмечен. Дело в чем-то другом.

Повысить оценку Понизить оценку

8 Отредактировано Закусило Александр (09.09.2016 11:46:47)

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Ну раз такое дело Вы напишите нам в поддержку мы посмотрим. Потому, что так быть не должно по идее.

Re: Фильтр Да\Нет в виде чекбокса (галочки)

Подскажите, пожалуйста, чем закончилось? Также интересует возможность сделать полноценную замену выпадающему списку «Да-Нет-Неважно» (который занимает слишком много места и требует на один щелчок больше): чекбокс из трех состояний http://ruseller.com/lessons.php?rub=28&id=1214