Фильтр По Товарам
#1
Отправлено 03 Ноябрь 2013 - 13:18
Надо,чтобы при открытии каталога, например "Аппараты высокого давления", сверху был фильтр как на фото, и соответственно при выборе из фильтра, например "LavorPro", то открывались только LavorPro из "Аппаратов высокого давления", а не все из LavorPro.
А при открытии подкатегории, сверху был другой фильтр....
Вообщем, можно ли реализовать эти фильтры из этого сайта ? Очень надо, Помогите пожалуйста.
#2
Отправлено 04 Ноябрь 2013 - 06:21
Gans (03 Ноябрь 2013 - 13:18) писал:
Надо,чтобы при открытии каталога, например "Аппараты высокого давления", сверху был фильтр как на фото, и соответственно при выборе из фильтра, например "LavorPro", то открывались только LavorPro из "Аппаратов высокого давления", а не все из LavorPro.
А при открытии подкатегории, сверху был другой фильтр....
Вообщем, можно ли реализовать эти фильтры из этого сайта ? Очень надо, Помогите пожалуйста.
Откройте раздел Сайт - Редактор шаблонов - HTML и найдите код -
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам --> {% IF SHOW_GOODS_FILTERS %} <div class="block"> <div class="blocktitle bluesmall"> Фильтры </div> <div class="blockmain fnt12n"> <ul class="filter"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <input type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} /> <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} {% IF filter_attr_list.values.NB_GOODS_FILTERED > 0 %}({filter_attr_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label><br /> {% ENDFOR %} </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_prop_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <input type="checkbox" name="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" value="1" id="filterPropVal{filter_prop_list.values.ID}" {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} > <label for="filterPropVal{filter_prop_list.values.ID}">{filter_prop_list.values.VALUE} {% IF filter_prop_list.values.NB_GOODS_FILTERED > 0 %}({filter_prop_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label><br /> {% ENDFOR %} </div> {% ENDFOR %} </div> </form> </ul> </div> <div class="blockbottom"></div> </div> {% ENDIF %} {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->удалите его
Далее найдите код в шаблоне Товары -
<!-- Фильтры показываются только если есть товары в категории -->до этого комментария вставьте -
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам --> {% IF SHOW_GOODS_FILTERS %} <div class="block"> <div class="blockmain fnt12n"> <ul class="filter"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <input type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} /> <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} {% IF filter_attr_list.values.NB_GOODS_FILTERED > 0 %}({filter_attr_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label> {% ENDFOR %} </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_prop_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <input type="checkbox" name="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" value="1" id="filterPropVal{filter_prop_list.values.ID}" {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} > <label for="filterPropVal{filter_prop_list.values.ID}">{filter_prop_list.values.VALUE} {% IF filter_prop_list.values.NB_GOODS_FILTERED > 0 %}({filter_prop_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label> {% ENDFOR %} </div> {% ENDFOR %} </div> </form> </ul> </div> <div class="blockbottom"></div> </div> {% ENDIF %} {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
Бегунок цен реализовать к сожалению, не получится.
#3
Отправлено 04 Ноябрь 2013 - 12:10
#6
Отправлено 05 Ноябрь 2013 - 21:00
#7
Отправлено 06 Ноябрь 2013 - 03:35
Gans (05 Ноябрь 2013 - 20:06) писал:
Найдите в вашем шаблоне "Товары" код
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <input type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} /> <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} {% IF filter_attr_list.values.NB_GOODS_FILTERED > 0 %}({filter_attr_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label> {% ENDFOR %} </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_prop_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <input type="checkbox" name="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" value="1" id="filterPropVal{filter_prop_list.values.ID}" {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} > <label for="filterPropVal{filter_prop_list.values.ID}">{filter_prop_list.values.VALUE} {% IF filter_prop_list.values.NB_GOODS_FILTERED > 0 %}({filter_prop_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label> {% ENDFOR %} </div> {% ENDFOR %} </div> </form>
и замените его на
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <span class="filter-value{% IF filter_attr_list.values.CHECKED %} checked{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %} disabled{% ENDIF %}"> <input type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} /> <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} {% IF filter_attr_list.values.NB_GOODS_FILTERED > 0 %}({filter_attr_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label> </span> {% ENDFOR %} </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <span class="fnt12b color contentTbodySearchFilterBlockHeader">{filter_prop_list.NAME}</span> <div class="fnt11i contentTbodySearchFilterBlockValues"> {% FOR values %} <span class="filter-value{% IF filter_prop_list.values.CHECKED %} checked{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %} disabled{% ENDIF %}"> <input type="checkbox" name="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" value="1" id="filterPropVal{filter_prop_list.values.ID}" {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} > <label for="filterPropVal{filter_prop_list.values.ID}">{filter_prop_list.values.VALUE} {% IF filter_prop_list.values.NB_GOODS_FILTERED > 0 %}({filter_prop_list.values.NB_GOODS_FILTERED}){% ENDIF %}</label> </span> {% ENDFOR %} </div> {% ENDFOR %} </div> </form>
далее в файл стилей main.css добавьте
.filter-value label { background: #D7D7D7; border: 1px solid #B8B0B0; border-radius: 6px 6px 6px 6px; cursor: pointer !important; display: inline-block; font-size: 12px; margin: 5px; padding: 5px; } .filter-value input { display: none; } .filter-value input:checked ~ label { background: #B8B8B8; }
Gans (05 Ноябрь 2013 - 21:00) писал:
Установить каталог в качестве главной страницы вы можете в разделе Сайт -> Главная страница вашей панели управления.
#9
Отправлено 08 Ноябрь 2013 - 05:21
.contentTbodySearchFilterBlock{ border: 1px solid #000000; }измените стиль border как вам необходимо.
2. Цены в админ панели вводить необходимо, тут несколько путей решения проблемы:
- убрать полностью отображение цены и сделать кнопку заказать звонок, где будет всплывать форма для заполнения.
- на профессиональную продукцию устанавливать кол-во товаров 0 и в коде на товары, которых нет в наличии устанавливать кнопку заказать.
Какой вариант тут вам более подойдет?
#10
Отправлено 08 Ноябрь 2013 - 11:20
#11
Отправлено 09 Ноябрь 2013 - 06:28
В разделе Товары - Товары на всю проф продукцию вы ставите остаток 0, на сайте автоматически они станут со статусом - нет в наличии.
Далее сам статус на сайте о наличии лучше убрать, дабы пользователей не пугать отсутствием товара, это делается в Редакторе шаблонов в шаблоне Товар, находим и удаляем:
<span rel="false" class="available-false" {% IF GOODS_MOD_REST_VALUE>0 %}style="display:none;"{% ENDIF %}> <div class="stikno"></div> </span> <span rel="true" class="available-true" {% IF GOODS_MOD_REST_VALUE=0 %}style="display:none;"{% ENDIF %}> <div class="stikyes"></div> </span>
Остается вставить саму кнопку "Заказать товар", на эту кнопочку у нас написана не одна инструкция поэтому прошу пройти по сл.ссылке:
http://forum.storela...опка-под-заказ/
#12
Отправлено 09 Ноябрь 2013 - 15:58
#13
Отправлено 09 Ноябрь 2013 - 16:27
Надо чтобы при выборе подкатегории были фильтры по характеристикам, но надо чтобы не открывались все выбранные характеристики, а покупатель сам выбирал от и до. например по габаритам, не выдавались все габариты которые есть, а поля в которые вводится от и до. А так же например системы остановки двигателя, и там выбирается либо такая система либо другая.
Можно ли это как то сделать?
#14
Отправлено 09 Ноябрь 2013 - 17:35
Можно ли сделать чтобы при выборе одной марки показывалась только выбранная, а предыдущая выбранная переключалась, отжималась кнопка.
#15
Отправлено 10 Ноябрь 2013 - 11:20
Gans (09 Ноябрь 2013 - 15:58) писал:
<div class="price fnt12b txtalgnlft"> Цена: {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span> {% ENDIF %} <em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em> </div>это строки 239 /247
и после этого кода добавьте -
{% IF goods.MAX_REST_VALUE=0 %}<div> <p>Ваш текст</p></div>{% ENDIF %}
Реализовано для товаров Таблицей. Аналогично можно сделать для Списка.
Gans (09 Ноябрь 2013 - 17:35) писал:
Можно ли сделать чтобы при выборе одной марки показывалась только выбранная, а предыдущая выбранная переключалась, отжималась кнопка.
Если Ваш клиент захочет посмотреть несколько марок, то как быть в этом случае?
#16
Отправлено 10 Ноябрь 2013 - 17:12
Если Ваш клиент захочет посмотреть несколько марок, то как быть в этом случае?
Смысл этого фильтра, чтобы открыть и посмотреть конкретную выбранную марку. Просто многие могут не сразу догадаться что надо отжимать кнопки.
#17
Отправлено 12 Ноябрь 2013 - 21:21
#18
Отправлено 13 Ноябрь 2013 - 08:48
Gans (12 Ноябрь 2013 - 21:21) писал:
Можно попробовать установить кнопку - Фильтровать http://forum.storela...-34/#entry98987
Найдите код в шаблоне Товары -
<div class="price fnt12b txtalgnlft"> Цена: {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span> {% ENDIF %} <em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em> </div>и замените на -
{% IF goods.MAX_REST_VALUE>0 %} <div class="price fnt12b txtalgnlft"> Цена: {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span> {% ENDIF %} <em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em> </div> {%ELSE%} <div> <p>Ваш текст</p></div> {% ENDIF %}
#19
Отправлено 18 Январь 2014 - 21:55
#20
Отправлено 21 Январь 2014 - 03:26
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных