Не Отображается Фильтр На Сайте
#1
Отправлено 24 Август 2017 - 12:17
Подскажите почему нигде на сайте не отображается фильтр товаров, думал я что-то делаю не так, но перелазив весь форум так и не нашёл ответа.
Собственно: мой аккаунт sl 420436
1. Создал фильтр в категории "кроссовки", но на сайте я его не нашёл. скрин фильтра в настройках прилагаю
2. Хочу сделать фильтр точно также и в том месте как на фотографии
#2
Отправлено 24 Август 2017 - 14:05
rodionsokolov@mail.ru (24 Август 2017 - 12:17) писал:
Подскажите почему нигде на сайте не отображается фильтр товаров, думал я что-то делаю не так, но перелазив весь форум так и не нашёл ответа.
Собственно: мой аккаунт sl 420436
1. Создал фильтр в категории "кроссовки", но на сайте я его не нашёл. скрин фильтра в настройках прилагаю
2. Хочу сделать фильтр точно также и в том месте как на фотографии
Здравствуйте.
Фильтр работает только в той категории, где он добавлен, проверьте это, пожалуйста. Он не распространяется на вложенные в него подкатегории. Для каждой необходимо создавать свой фильтр.
#3
Отправлено 25 Август 2017 - 06:19
Firefly (24 Август 2017 - 14:05) писал:
Фильтр работает только в той категории, где он добавлен, проверьте это, пожалуйста. Он не распространяется на вложенные в него подкатегории. Для каждой необходимо создавать свой фильтр.
#4
Отправлено 25 Август 2017 - 06:39
Зайдите в раздел Сайт - Редактор шаблонов - HTML - найдите и удалите:
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="block filters"> <div class="block-title"><span>Фильтры</span></div> <div class="block-content"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- ПРОВЕРИТЬ --> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="title-filter">Фильтры по ценам</div> <div class="layout-slider clearfix"> <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <span class="price-separator">-</span> <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <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}" /> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"> <span class="min" style="display:none;">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span> <span class="max" style="display:none;">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span> </div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceSubmit"> <input class="button small" type="submit" value="Показать" /> </div> </div> {% ENDIF %} <!-- /END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> {filter_attr_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_attr_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> {filter_prop_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_prop_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} </form> </div> </div> {% ENDIF %} <!-- /END Если в тарифном плане подключен модуль фильтров по товарам -->
Далее зайдите в шаблон Товары - найдите:
<!-- Сортировать по: (Поле сортировки товаров по умолчанию) --> <div class="sort-by"> <label>Сортировать по:</label> <select name="goods_search_field_id" class="sort-by" title="Название сортировки" onchange="this.form.submit();"> {% FOR goods_order_fields %} {%IF goods_order_fields.ID=1 || goods_order_fields.ID=2 %} <option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option> {%ENDIF%} {% ENDFOR %} </select> </div> <!-- /END Сортировать по: --> </noindex> </form> </div> </div> <!-- END Верхний блок, изменяющий отображение данных выдачи товаров --> {% ENDIF %}
после него вставьте:
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="block filters"> <div class="block-content"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- ПРОВЕРИТЬ --> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter layout-slider clearfix"> <div class="title-filter">Фильтры по ценам</div> <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <span class="price-separator">-</span> <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <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}" /> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"> <span class="min" style="display:none;">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span> <span class="max" style="display:none;">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span> </div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceSubmit"> <input class="button small" type="submit" value="Показать" /> </div> </div> {% ENDIF %} <!-- /END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> {filter_attr_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_attr_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> {filter_prop_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_prop_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} </form> </div> </div> {% ENDIF %} <!-- /END Если в тарифном плане подключен модуль фильтров по товарам -->
Далее зайдите в main.css - найдите:
.block.filters .filter {margin: 5px 0;font-size: 14px;}
замените на:
.block.filters .filter {margin: 5px 10px;font-size: 14px;display: inline-block;width: 250px;vertical-align: middle;}
Результат должен быть следующим:
#5
Отправлено 25 Август 2017 - 07:14
Vaccina (25 Август 2017 - 06:39) писал:
Зайдите в раздел Сайт - Редактор шаблонов - HTML - найдите и удалите:
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="block filters"> <div class="block-title"><span>Фильтры</span></div> <div class="block-content"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- ПРОВЕРИТЬ --> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="title-filter">Фильтры по ценам</div> <div class="layout-slider clearfix"> <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <span class="price-separator">-</span> <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <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}" /> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"> <span class="min" style="display:none;">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span> <span class="max" style="display:none;">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span> </div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceSubmit"> <input class="button small" type="submit" value="Показать" /> </div> </div> {% ENDIF %} <!-- /END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> {filter_attr_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_attr_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> {filter_prop_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_prop_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} </form> </div> </div> {% ENDIF %} <!-- /END Если в тарифном плане подключен модуль фильтров по товарам -->
Далее зайдите в шаблон Товары - найдите:
<!-- Сортировать по: (Поле сортировки товаров по умолчанию) --> <div class="sort-by"> <label>Сортировать по:</label> <select name="goods_search_field_id" class="sort-by" title="Название сортировки" onchange="this.form.submit();"> {% FOR goods_order_fields %} {%IF goods_order_fields.ID=1 || goods_order_fields.ID=2 %} <option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option> {%ENDIF%} {% ENDFOR %} </select> </div> <!-- /END Сортировать по: --> </noindex> </form> </div> </div> <!-- END Верхний блок, изменяющий отображение данных выдачи товаров --> {% ENDIF %}
после него вставьте:
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="block filters"> <div class="block-content"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- ПРОВЕРИТЬ --> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter layout-slider clearfix"> <div class="title-filter">Фильтры по ценам</div> <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <span class="price-separator">-</span> <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress(this, event);" onpaste="return false;" /> <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}" /> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"> <span class="min" style="display:none;">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span> <span class="max" style="display:none;">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span> </div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceSubmit"> <input class="button small" type="submit" value="Показать" /> </div> </div> {% ENDIF %} <!-- /END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> {filter_attr_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_attr_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> {filter_prop_list.NAME}:<br /> <select class="form-control" 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"{% ENDIF %}>{filter_prop_list.values.VALUE}</option> {% ENDFOR %} </select> </div> {% ENDFOR %} </form> </div> </div> {% ENDIF %} <!-- /END Если в тарифном плане подключен модуль фильтров по товарам -->
Далее зайдите в main.css - найдите:
.block.filters .filter {margin: 5px 0;font-size: 14px;}
замените на:
.block.filters .filter {margin: 5px 10px;font-size: 14px;display: inline-block;width: 250px;vertical-align: middle;}
Результат должен быть следующим:
Nike.png
Так как фильтр в 2 строки, могу ли сделать его в одну если поменяю стилистику отображения товаров.
хочу сделать отображение товаров как на здесь,
то есть чтобы товары были в 5 рядов, а над ними был фильтр
http://outmaxshop.ru...r=DESC&limit=60
#6
Отправлено 25 Август 2017 - 07:36
#7
Отправлено 25 Август 2017 - 12:21
Vaccina (25 Август 2017 - 07:36) писал:
Фильтр стал отображаться над товарами. НО, когда я выбираю любую характеристику в фильтре, допустим фильтрую по размеру обуви, фильтр тут же возвращается в левую сторону.
Всё таки охото сделать, чтобы фильтр был над товарами всегда и дизайн был как на картинке, которую я прикрепил выше. (товары в 5 рядов)
#8
Отправлено 25 Август 2017 - 14:11
rodionsokolov@mail.ru (25 Август 2017 - 12:21) писал:
Фильтр стал отображаться над товарами. НО, когда я выбираю любую характеристику в фильтре, допустим фильтрую по размеру обуви, фильтр тут же возвращается в левую сторону.
Всё таки охото сделать, чтобы фильтр был над товарами всегда и дизайн был как на картинке, которую я прикрепил выше. (товары в 5 рядов)
#9
Отправлено 25 Август 2017 - 15:01
Ирина345 (25 Август 2017 - 14:11) писал:
Появилась следующая проблема.
Когда по заданному фильтру нет товаров, появляется информация: "нет товаров по заданному условию" и пропадает фильтр товаров с экрана. Надо чтобы он там оставался и пользователь мог ввести другие параметры.
И да, как сделать так, чтобы было 5 рядов товаров и не было меню категорий с левой стороны?
#10
Отправлено 26 Август 2017 - 07:26
Выше вам задали вопрос про категорию, в которой находится фильтр, ранее вы добавляли фильтр, если не ошибаюсь, в категорию nike, сейчас там он отсутствует. Добавьте пожалуйста в категорию фильтры и укажите ее название или ссылку.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных