Фильтры
#1
Отправлено 06 Декабрь 2015 - 19:20
Хотелось бы понять почему из фильтров в каталоге товаров работает только фильтр по цене? А по характеристикам и модификациям не работает
Заранее спасибо
#2
Отправлено 06 Декабрь 2015 - 19:52
Trend78 (06 Декабрь 2015 - 19:20) писал:
Хотелось бы понять почему из фильтров в каталоге товаров работает только фильтр по цене? А по характеристикам и модификациям не работает
Заранее спасибо
Здравствуйте! Чтобы настроить фильтры, зайдите в редактор Товары --> Товары --> Правой кнопкой мыши щелкните по нужному каталогу товара и нажмите Настроить категорию.
Далее выбираете "Фильтры по характеристикам товаров" (Либо по свойствам) --> "Добавить фильтр по характеристикам товаров" и настраиваете необходимые фильтры.
#3
Отправлено 06 Декабрь 2015 - 20:19
RedHead (06 Декабрь 2015 - 19:52) писал:
Далее выбираете "Фильтры по характеристикам товаров" (Либо по свойствам) --> "Добавить фильтр по характеристикам товаров" и настраиваете необходимые фильтры.
Screenshot.png Screenshot_1.png
#4
Отправлено 06 Декабрь 2015 - 20:33
#5
Отправлено 07 Декабрь 2015 - 11:20
Trend78 (06 Декабрь 2015 - 20:33) писал:
Здравствуйте, в шаблоне Товары найдите код:
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter"> <span>Цена:</span> <div class="contentTbodySearchPriceFilterBlock"> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceInfo"> <span><input id="goods-filter-min-price" type="number" min="0" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" /></span> <span class="tire"><em> — </em></span><span><input id="goods-filter-max-price" type="number" min="0" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" /><input type="hidden" name="form[filter][available_price][min]" value="{GOODS_FILTER_MIN_AVAILABLE_PRICE}" /><input type="hidden" name="form[filter][available_price][max]" value="{GOODS_FILTER_MAX_AVAILABLE_PRICE}" /></span> </div> <div class="goodsFilterPriceSubmit"> <button class="submit btn" type="submit">Показать</button> </div> </div> </div> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_FILTERS %} <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> <span>{filter_attr_list.NAME}:</span><br /> <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel')); this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> Все </option> {% FOR values %} <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_attr_list.values.VALUE} ({filter_attr_list.values.NB_GOODS_FILTERED})</option> {% ENDFOR %} </select> </div> </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <div> {filter_prop_list.NAME}:<br /> <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel')); this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> Все </option> {% FOR values %} <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_prop_list.values.VALUE} ({filter_prop_list.values.NB_GOODS_FILTERED})</option> {% ENDFOR %} </select> </div> </div> {% ENDFOR %} {% ENDIF %} </form> <div class="clear"></div> </div> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->
замените его на код:
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="recently_viewed hide"> <h4 class="title_block">Фильтр по категории</h4> <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter"> <span>Цена:</span> <div class="contentTbodySearchPriceFilterBlock"> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceInfo"> <span><input id="goods-filter-min-price" type="number" min="0" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" /></span> <span class="tire"><em> — </em></span><span><input id="goods-filter-max-price" type="number" min="0" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" /><input type="hidden" name="form[filter][available_price][min]" value="{GOODS_FILTER_MIN_AVAILABLE_PRICE}" /><input type="hidden" name="form[filter][available_price][max]" value="{GOODS_FILTER_MAX_AVAILABLE_PRICE}" /></span> </div> <div class="goodsFilterPriceSubmit"> <button class="submit btn" type="submit">Показать</button> </div> </div> </div> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_FILTERS %} <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> <span>{filter_attr_list.NAME}:</span><br /> <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel')); this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - все - </option> {% FOR values %} <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_attr_list.values.VALUE} ({filter_attr_list.values.NB_GOODS_FILTERED})</option> {% ENDFOR %} </select> </div> </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <div> {filter_prop_list.NAME}:<br /> <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel')); this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - все - </option> {% FOR values %} <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_prop_list.values.VALUE} ({filter_prop_list.values.NB_GOODS_FILTERED})</option> {% ENDFOR %} </select> </div> </div> {% ENDFOR %} {% ENDIF %} </form> <div class="clear"></div> </div> </div> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->
Далее в main.css найдите код:
@media screen and (max-width: 880px) {
после него добавьте код:
.recently_viewed.hide .filters { display:none; } .nojs .recently_viewed.hide .filters{ display: block; }
в main.css найдите код:
.recently_viewed .title_block { font-size: 1.09em; text-align: left; display: inline-block; background: #d5dfed none repeat scroll 0% 0%; border: 1px solid #C2C5CC; border-radius: 6px; padding:6px; margin-left:5px; color:#525252; }
и замените на код:
.recently_viewed .title_block { font-size: 1.09em; text-align: left; display: inline-block; background: #d5dfed none repeat scroll 0% 0%; border: 1px solid #C2C5CC; border-radius: 6px; padding:6px; margin-left:5px; color:#525252; width: 95% }
#6
Отправлено 07 Декабрь 2015 - 15:37
Юля123 (07 Декабрь 2015 - 11:20) писал:
[CODE]
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->
{% IF TARIFF_FEATURE_GOODS_FILTERS %}
<div class="filters">
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
<form action="" method="get">
<!-- Если есть возможность фильтрации товаров по ценам -->
{% IF SHOW_GOODS_PRICE_FILTERS %}
<div class="filter">
<span>Цена:</span>
<div class="contentTbodySearchPriceFilterBlock">
<!-- Фильтры по цене -->
<div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
<div id="goods-filter-price-slider"></div>
<div class="goodsFilterPriceInfo">
<span><input id="goods-filter-min-price" type="number" min="0" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" /></span>
<span class="tire"><em> — </em></span><span><input id="goods-filter-max-price" type="number" min="0" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}
....
На основной версии сайта можно эту "кнопку" фильтры по товарам скрыть
На мобильной версии при нажатии на "Недавно просмотренные товары" открываются фильтры
+ сделать небольшой отступ между кнопкой и самим блоком фильтров
#7
Отправлено 08 Декабрь 2015 - 03:38
#8
Отправлено 08 Декабрь 2015 - 04:14
.recently_viewed.hide { display: inline-block; height: auto; opacity: 1; } .recently_viewed .block_content { display: inline-block; clear: both; overflow: hidden; width: 100%; padding: 0; } .recentlyProductsList { display: inline-block; float: left; width: 100%; } .recently_viewed .block_content.hide { display: none; height: 0; transition-duration: 300s } .recently_viewed .title_block { font-size: 1.09em; text-align: center; display: inline-block; background: #d5dfed none repeat scroll 0% 0%; border: 1px solid #C2C5CC; border-radius: 6px; padding:6px; margin-left:5px; color:#525252; width: 95% }
замените на:
.recently_viewed.hide, .filters_block.hide { display: inline-block; height: auto; opacity: 1; } .recently_viewed .block_content, .filters_block .block_content { display: inline-block; clear: both; overflow: hidden; width: 100%; padding: 0; } .recentlyProductsList { display: inline-block; float: left; width: 100%; } .recently_viewed .block_content.hide, .filters_block .block_content.hide { display: none; height: 0; transition-duration: 300s } .recently_viewed .title_block, .filters_block .title_block { font-size: 1.09em; text-align: center; display: inline-block; background: #d5dfed none repeat scroll 0% 0%; border: 1px solid #C2C5CC; border-radius: 6px; padding:6px; margin-left:5px; color:#525252; width: 95% }
далее найдите:
.recently_viewed.hide .block_content { display: none; }
замените на:
.recently_viewed.hide .block_content, .filters_block.hide .block_content { display: none; }
В шаблоне Товары найдите:
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="recently_viewed hide"> <h4 class="title_block">Фильтры по категории</h4> <div class="filters">
замените на:
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters_block hide"> <h4 class="title_block">Фильтры по категории</h4> <div class="block_content filters">
В main.js найдите:
function toggleSpoilers() { var $recentlyView = $('.recently_viewed'); if ($.cookie('recently_view') == '1') { $recentlyView.removeClass('hide'); } else { $recentlyView.addClass('hide'); } $recentlyView.find('.title_block').on('click', function () { console.log('Есть клик!'); if ($.cookie('recently_view') == '1') { $recentlyView.addClass('hide'); $.cookie('recently_view', '0'); } else { $recentlyView.removeClass('hide'); $.cookie('recently_view', '1'); } }); return false; }
замените на:
function toggleSpoilers() { var $recentlyView = $('.recently_viewed'); if ($.cookie('recently_view') == '1') { $recentlyView.removeClass('hide'); } else { $recentlyView.addClass('hide'); } $recentlyView.find('.title_block').on('click', function () { console.log('Есть клик!'); if ($.cookie('recently_view') == '1') { $recentlyView.addClass('hide'); $.cookie('recently_view', '0'); } else { $recentlyView.removeClass('hide'); $.cookie('recently_view', '1'); } }); var $filters = $('.filters_block'); if ($.cookie('filters_block') == '1') { $filters.removeClass('hide'); } else { $filters.addClass('hide'); } $filters.find('.title_block').on('click', function () { console.log('Есть клик!'); if ($.cookie('filters_block') == '1') { $filters.addClass('hide'); $.cookie('filters_block', '0'); } else { $filters.removeClass('hide'); $.cookie('filters_block', '1'); } }); return false; }
#9
Отправлено 08 Декабрь 2015 - 16:46
Vaccina (08 Декабрь 2015 - 04:14) писал:
.recently_viewed.hide { display: inline-block; height: auto; opacity: 1; } .recently_viewed .block_content { display: inline-block; clear: both; overflow: hidden; width: 100%; padding: 0; } .recentlyProductsList { display: inline-block; float: left; width: 100%; } .recently_viewed .block_content.hide { display: none; height: 0; transition-duration: 300s } .recently_viewed .title_block { font-size: 1.09em; text-align: center; display: inline-block; background: #d5dfed none repeat scroll 0% 0%; border: 1px solid #C2C5CC; border-radius: 6px; padding:6px; margin-left:5px; color:#525252; width: 95% }....
Осталось только сделать так, что бы если нет фильтра в категории, блок не отображался.
И в мобильной версии раза в 2 уменьшить отступ между кнопками
#10
Отправлено 08 Декабрь 2015 - 16:52
Trend78 (08 Декабрь 2015 - 16:46) писал:
Осталось только сделать так, что бы если нет фильтра в категории, блок не отображался.
{% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters_block hide">
замените на
{% IF TARIFF_FEATURE_GOODS_FILTERS || goods_filters_empty %} <div class="filters_block hide">
#11
Отправлено 08 Декабрь 2015 - 17:08
Ирина345 (08 Декабрь 2015 - 16:52) писал:
{% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters_block hide">
замените на
{% IF TARIFF_FEATURE_GOODS_FILTERS || goods_filters_empty %} <div class="filters_block hide">
#14
Отправлено 09 Декабрь 2015 - 02:13
{% IF TARIFF_FEATURE_GOODS_FILTERS || goods_filters_empty %}
замените на:
{% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %}
#16
Отправлено 09 Декабрь 2015 - 04:22
<br><h4 class="title_block">Просмотренные товары</h4>
замените на:
<h4 class="title_block">Просмотренные товары</h4>
#18
Отправлено 25 Апрель 2016 - 07:18
RedHead (06 Декабрь 2015 - 19:52) писал:
Далее выбираете "Фильтры по характеристикам товаров" (Либо по свойствам) --> "Добавить фильтр по характеристикам товаров" и настраиваете необходимые фильтры.
Screenshot.png Screenshot_1.png
Доброе утро!
У меня не работают фильтры по характеристикам, хотя я их установил в категориях Lambid kontorisse и Öölambid. Нигде их не вижу. Где-то еще их надо включить?
#19
Отправлено 26 Апрель 2016 - 06:22
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных