Не Отображаются Фильтры По Характеристикам Товаров.
#1
Отправлено 14 Январь 2014 - 23:42
Добавляю в категорию кольца "фильтры по характеристикам товаров":
Но, к сожалению, ничего не происходит.
Для внесения ясности привожу пример фильтра:
С модификациями в разделе просмотра товаров история аналогична.
Предположение.
Некогда по одной из тем на форуме я менял вид каталога:
http://tinorossi.ru/catalog/
Он выглядел:
А стал:
Быть может, это как-то связано.
2. Кстати, как можно удалить сам раздел "каталог" из сайта? В нём просто нет необходимости.
#2
Отправлено 15 Январь 2014 - 02:32
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter"> <div> <div class="goodsFilterPriceInfo"><label>Цена:</label> от <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 %}" autocomplete="off" /> до <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 %}" autocomplete="off" /> </div> <div class="contentTbodySearchPriceFilterBlock"> <div id="goods-filter-price-slider"></div> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div> <div class="goodsFilterPriceSubmit"> <button class="submit" type="submit">Показать</button> </div> </div> </div> </div> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_FILTERS %} <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> {filter_attr_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_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 Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->
попробуйте добавить данный код фильра после вашего кода в шаблоне "Товары"
<!-- Блок изменения вида списка и поля сортировки --> <div class="view-switch"> {% IF GOODS_VIEW_TYPE=2 %} <a href="?goods_view_type=1" title="Список товаров категории «{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}» сейчас отображается в виде списка, где один товар занимает одну строку" id="list-gallery"></a> <a title="Отображать список товаров в виде таблицы с 3-мя товарами на одну строку" id="list-list2"></a> {% ELSE %} <a title="Отображать список товаров в виде списка" id="list-gallery2"></a> <a href="?goods_view_type=2" title="Список товаров категории «{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}» сейчас отображается в виде таблицы, по 3 товара на строку" id="list"></a> {% ENDIF %} </div> <!-- /Блок изменения вида списка и поля сортировки -->
2. К сожалению, раздел каталога удалить нельзя. Если у вас есть ссылки на страницу каталога, то удалите сами ссылки. В любом случае страница каталога будет доступна по прямому обращению.
#3
Отправлено 15 Январь 2014 - 08:14
после добавления <!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> под каждым товаром появилось забавное меню )
Методом научного тыка дошёл до вида:
что уже для меня прогресс ) Но хотелось бы вертикальное меню слева от товаров и, желательно, с галочками, чтобы покупатель имел возможность использовать несколько вариантов одной и той же характеристики.
Пример:
Возможно, на форуме уже есть подобные темы, тогда буду благодарен за ссылку )
Сам найти, к сожалению, не смог..
P.S. В теме "Осень" реализована подобная сортировка:
#4
Отправлено 16 Январь 2014 - 05:07
<!-- Недавно просмотренные товары --> {% IFNOT recently_viewed_goods_empty %} <div id="recently_viewed"> <h4 class="title_block">Недавно просмотренные товары</h4> <div class="block_content">
перед ним вставляем:
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter"> <div> Цена: <div class="contentTbodySearchPriceFilterBlock"> <div class="goodsFilterPriceInfo"> <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 %}" autocomplete="off" /> <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 %}" autocomplete="off" /> <div class="clear"></div> </div> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><span class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span><span class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span></div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceSubmit"> <input class="exclusive" type="submit" value="Показать" /> </div> </div> </div> </div> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> {filter_attr_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_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 %} <div class="clear"></div> </form> </div> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->
после этого фильтры появятся под каталогом в таком же виде(выпадающие списки)
#5
Отправлено 16 Январь 2014 - 22:22
<!-- Недавно просмотренные товары --> {% IFNOT recently_viewed_goods_empty %} <div id="recently_viewed"> <h4 class="title_block">Недавно просмотренные товары</h4> <div class="block_content">Все варианты вставки перед похожими блоками успехом не увенчались. В настоящий момент все блоки пока удалил..
#6
Отправлено 16 Январь 2014 - 22:53
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_G[attachment=16283:получившийсяфильтр3.png]OODS_FILTERS %} <!-- Форма фильтрации отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="block"> <div class="blocktitle bluesmall"> Цена </div> <div class="blockmain fnt12n"> <ul class="filter"> <div class="contentTbodySearchPriceFilterBlock cornerAll txtalgncnt"> <!-- Фильтры по цене --> <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"> от <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 %}" autocomplete="off" /> до <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 %}" autocomplete="off" /> </div> <div class="goodsFilterPriceSubmit"> <button class="orangebar fnt12n" type="submit">Показать</button> </div> </div> </ul> </div> <div class="blockbottom"></div> </div> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам --> {% IF SHOW_GOODS_FILTERS %} <div class="block filtercatalog"> <div class="title red fmlptn fnt18 over"><a href="#" class="arrow-toggle">Фильтры по <span>товарам</span></a></div> <div class="main padd1 fntarl txtalgnlft fnt12 "> <div class="blocknews clr"> <ul class="filter"> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="title aunder fnt13 contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</div> <div class="textshort padd51 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> </ul> </div> </div> <div class="bottom"></div> </div> {% ENDIF %} </form> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
Его вставка в HTML позволяет получить почти такой фильтр, как я хочу. Но возникла сложность сего расположением.
У меня получилось лишь нечто совсем кривое.. )
Самый близкий вариант получился при экспериментах по вставке этого кода в шаблон "Товары" )
#7
Отправлено 17 Январь 2014 - 06:11
попробуйте сл.вариант: шаблон Товары - найдите:
<!-- Если есть товары --> {% IFNOT goods_empty %} <!-- Если отображаем товары списком --> {% IF GOODS_VIEW_TYPE=1 %}
перед ним вставьте:
<div style=" float:left; width:200px;"> <!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <div class="filter"> <div> Цена: <div class="contentTbodySearchPriceFilterBlock"> <div class="goodsFilterPriceInfo"> <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 %}" autocomplete="off" /> <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 %}" autocomplete="off" /> <div class="clear"></div> </div> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><span class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span><span class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span></div> <div id="goods-filter-price-slider"></div> <div class="goodsFilterPriceSubmit"> <input class="exclusive" type="submit" value="Показать" /> </div> </div> </div> </div> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> {filter_attr_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_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 %} <div class="clear"></div> </form> </div> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> </div>
#8
Отправлено 17 Январь 2014 - 09:30
Vaccina (17 Январь 2014 - 06:11) писал:
Это ничего страшного - спасибо, что Вы есть )
После вставки в "Товары" Вашего кода перед <!-- Если есть товары --> получил следующий вид:
После замены этой части кода кода:
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% 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 %} <div class="clear"></div> </form> </div> {% ENDIF %}
на этот:
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% 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> </ul> </div> </div> <div class="bottom"></div> </div> {% ENDIF %} </form> {% ENDIF %}
Получил вид:
После замены части кода:
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> {filter_attr_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_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_attr_list %} <div class="title aunder fnt13 contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</div> <div class="textshort padd51 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 %}
Получил следующий вид:
Что уже почти хорошо )
Работаю над приближением к виду:
#9
Отправлено 17 Январь 2014 - 09:47
ConstantinRS (17 Январь 2014 - 09:30) писал:
После вставки в "Товары" Вашего кода перед <!-- Если есть товары --> получил следующий вид:
фильтр1.png
После замены этой части кода кода:
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% 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 %} <div class="clear"></div> </form> </div> {% ENDIF %}
на этот:
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% 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> </ul> </div> </div> <div class="bottom"></div> </div> {% ENDIF %} </form> {% ENDIF %}
Получил вид:
фильтр2.png
После замены части кода:
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> <div> {filter_attr_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_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_attr_list %} <div class="title aunder fnt13 contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</div> <div class="textshort padd51 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 %}
Получил следующий вид:
фильтр3.png
Что уже почти хорошо )
Работаю над приближением к виду:
фильтр.png
.title.aunder.fnt13.contentTbodySearchFilterBlockHeader { color: #9C1406; font-weight: bold; font-size: 18px; }
Замените
.filters {display: block;float: left;}на
.filters {display: block;float: left;background: #F3F3F3;margin-top: 5px;padding-left: 10px;}
В разделе Сайт - Редактор шаблонов - Товары замените
<div style=" float:left; width:200px;"> <!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->на
<div style=" float:left; width:auto;"> <!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров -->
В файл style.css добавьте
.textshort.padd51.contentTbodySearchFilterBlockValues label { font-weight: normal; text-transform: uppercase; color: #4B4A49; text-align: left; }
Замените
input[type="checkbox"], input[type="radio"] { border: medium none; height: auto; line-height: normal; margin: 0.2em 0.5em 0.25em 0; padding: 0; width: auto; float: left; }на
input[type="checkbox"], input[type="radio"] { border: medium none; height: auto; line-height: normal; margin: 0.5em 0.5em 0.25em 0; padding: 0; width: auto; float: left; }
#10
Отправлено 17 Январь 2014 - 21:45
Сначала, правда, получилось несколько забавно, видимо, в теме где-то прописано, что в строке должно быть ровно пять товаров..
Блок характеристик подужал, чтобы вместились пять товаров в ряд, но после второй строки всё равно получается корявость..
Что ещё хотелось бы изменить в идеале:
1. Выровнять названия групп примерно по этой полосе.
2. Перенести кнопку "Показать" вниз, центр.
3. Минимизировать расстояние между характеристиками.
4 и 5. Либо сделать так, чтобы товары также отображались по пять в ряд, но по полосе "5" на всём протяжении раздела, либо сделать так, чтобы товары переносились на следующую строку, не заходя за полосу "4".
6,7,8,9- те бесполезные расстояния, которые хотелось бы сократить, с целью отображения большего количества товара на странице.
10. Установить цену под товаром по центру.
11. Добавить надписи "от" и "до" возле окошек с минимальной и максимальной ценой.
#11
Отправлено 18 Январь 2014 - 11:26
2. переносим кнопку показать
в файле style.css найдите код
.filter {display: inline-block;display: -moz-inline-stack;*display: inline; vertical-align: top;position:relative;z-index: 100;padding: 5px 10px 5px 0px;width: auto;}замените его на
.filter {display: inline-block;display: -moz-inline-stack;*display: inline; vertical-align: top;position:relative;z-index: 100;padding: 5px 10px 22px 0px;width: auto;}
там же найдите
.goodsFilterPriceSubmit {display:none;width: 140px;}и замените на
.goodsFilterPriceSubmit {display:none;width: 140px;position: relative;top: 5px;left: 27px;}
3. Минимизируем расстояние между характеристиками.
найдите код
label, div.label {display: block;font-weight: bold;line-height: 24px;}замените его на
label, div.label {display: block;font-weight: bold;line-height: 16px;}
10. Отображение цены
найдите код
.price {font-size: 16px; color: #000; margin: 5px;}замените его на
.price {font-size: 16px; color: #000; margin: 5px 50px;}
#12
Отправлено 18 Январь 2014 - 14:37
найдите в файле css код
header[role="banner"] {position: relative; min-height: 10em; overflow: hidden;z-index: 10;}замените его на
header[role="banner"] {position: relative; min-height: 9em; overflow: hidden;z-index: 10;}
там же найдите код
.conta {position: relative;width: 100%;max-width: 1280px;margin: 20px auto;z-index:30;}и замените его на
.conta {position: relative;width: 100%;max-width: 1280px;margin: 0px auto;z-index:30;}
8,9
найдите код
section[role="main"] {margin-bottom: 6em;z-index: 10;}замените его на
section[role="main"] {margin-bottom: 0em;z-index: 10;}
#13
Отправлено 18 Январь 2014 - 20:53
Но всё получило, пока ещё, не до конца законченный вид..
Осталось
1. Выровнять названия групп примерно по этой полосе.
2. Перенести кнопку "Показать" вниз, и, чтобы она отображалась постоянно.
3. Минимизировать расстояние между характеристиками так, чтобы расстояние между ними и до названия пункта характеристик было 2-4px, но при этом окно для галочки и текст были на одном уровне.
4 и 5. Либо сделать так, чтобы товары также отображались по пять в ряд, но по полосе "5" на всём протяжении раздела, либо сделать так, чтобы товары переносились на следующую строку, не заходя за полосу "4".
11. Добавить надписи "от" и "до" возле окошек с минимальной и максимальной ценой.
12. Сместить к центру цену и кнопку "Купить". При выравнивании цены в каталоге, она уходит в разеле "Популярные товары" на главной..
13. Отображать валюту по умолчанию. То есть, без наведения указателя мыши.
14. А теперь, почему-то, в строке каталога слева от фильтра по характеристикам отображается лишь четыре товара.. Восстановление старых бэкапов не помогает, масштаб 100%, разрешение экрана: 1366х768.
За всё остальное большое спасибо!
#14
Отправлено 19 Январь 2014 - 10:05
.textshort.padd51.contentTbodySearchFilterBlockValues { margin-left: 15px; }Если нужно подкорректировать отступ изменяйте значение 15 в большую или меньшую сторону.
2.Найдите данный блок кода в шаблоне style.css:
.goodsFilterPriceSubmit {display:none;width: 140px;position: relative;top: 5px;left: 27px;}замените его на:
.goodsFilterPriceSubmit {display:none;width: 140px;position: fixed;top: 710px;left: 669px;}3.найдите данный блок кода:
input[type="checkbox"], input[type="radio"] { border: medium none; height: auto; line-height: normal; margin: 0.5em 0.5em 0.25em 0; padding: 0; width: auto; float: left; }замените его на:
input[type="checkbox"], input[type="radio"] { border: medium none; height: auto; line-height: normal; margin: 1px 0.5em 0.25em 0; padding: 0; width: auto; float: left; }
#15
Отправлено 19 Январь 2014 - 12:37
Alexey11 (19 Январь 2014 - 10:05) писал:
.textshort.padd51.contentTbodySearchFilterBlockValues { margin-left: 15px; }Если нужно подкорректировать отступ изменяйте значение 15 в большую или меньшую сторону.
Нужно выравнять не пункты с характеристиками, а оглавления:
Alexey11 (19 Январь 2014 - 10:05) писал:
.goodsFilterPriceSubmit {display:none;width: 140px;position: relative;top: 5px;left: 27px;}замените его на:
.goodsFilterPriceSubmit {display:none;width: 140px;position: fixed;top: 710px;left: 669px;}
Кнопка просто пропала, и при изменении цены тоже не появляется.
Alexey11 (19 Январь 2014 - 10:05) писал:
input[type="checkbox"], input[type="radio"] { border: medium none; height: auto; line-height: normal; margin: 0.5em 0.5em 0.25em 0; padding: 0; width: auto; float: left; }замените его на:
input[type="checkbox"], input[type="radio"] { border: medium none; height: auto; line-height: normal; margin: 1px 0.5em 0.25em 0; padding: 0; width: auto; float: left; }
Ситуация ощутимо не изменилась.
#16
Отправлено 19 Январь 2014 - 13:29
.title.aunder.fnt13.contentTbodySearchFilterBlockHeader { color: #9C1406; position: relative; font-weight: bold; font-size: 20px; }замените его на
.title.aunder.fnt13.contentTbodySearchFilterBlockHeader { color: #9C1406; position: relative; font-weight: bold; font-size: 20px; left:-10px; }
изменяя значение параметра left вы можете двигать оглавления.
#17
Отправлено 19 Январь 2014 - 14:09
Но добавление
text-align: left;Всё исправило.
Очень благодарен. Осталось ещё несколько вопросов.
1. Переместить кнопку "Показать" вниз и сделать, чтобы отображалась постоянно, а не только при изменении цены.
2. Сделать выравнивание названия товара, цены и кнопки "Купить" по центру, а не по левому краю.
3 и 4. Либо сделать так, чтобы товары также отображались по пять в ряд, но по полосе "5" на всём протяжении раздела, либо сделать так, чтобы товары переносились на следующую строку, не заходя за полосу "4".
5. Сделать так, чтобы обозначение валюты после цены отображалось постоянно, а не только при наведении курсора.
6. Минимизировать расстояние между характеристиками.
#18
Отправлено 19 Январь 2014 - 14:32
<div class="items" style="float:left; width:193px;margin: 10px;background: #fff;padding:10px;">Замените на
<div class="items" style="float:left; width:193px;margin: 10px;background: #fff;padding:10px;text-align:center;">6.Попробуйте в данном коде
label, div.label {display: block;font-weight: bold;line-height: 24px;}/*Расстояние мужду характеристиками*/изменить значение line-height
#19
Отправлено 19 Январь 2014 - 15:51
Alexey11 (19 Январь 2014 - 14:32) писал:
<div class="items" style="float:left; width:193px;margin: 10px;background: #fff;padding:10px;">Замените на
<div class="items" style="float:left; width:193px;margin: 10px;background: #fff;padding:10px;text-align:center;">
Ничего, к сожалению, не изменилось..
Alexey11 (19 Январь 2014 - 14:32) писал:
label, div.label {display: block;font-weight: bold;line-height: 24px;}/*Расстояние мужду характеристиками*/изменить значение line-height
Уже пробовал по совету одного из модераторов, но даже при самом маленьком значении line-height расстояние всё равно остаётся значительным, и характеристики смещаются относительно окошек для галочек..
#20
Отправлено 19 Январь 2014 - 16:19
ConstantinRS (19 Январь 2014 - 15:51) писал:
Alexey11 (19 Январь 2014 - 14:32) писал:
<div class="items" style="float:left; width:193px;margin: 10px;background: #fff;padding:10px;">Замените на
<div class="items" style="float:left; width:193px;margin: 10px;background: #fff;padding:10px;text-align:center;">
<div class="items" style="float:left; width:173px;margin: 10px;background: #fff;padding:10px;">и располагается в шаблоне "Товары". В ней надо перед последней кавычкой (после точки с запятой) вставить
text-align:center;
ConstantinRS (19 Январь 2014 - 15:51) писал:
Alexey11 (19 Январь 2014 - 14:32) писал:
label, div.label {display: block;font-weight: bold;line-height: 24px;}/*Расстояние мужду характеристиками*/изменить значение line-height
Изменение стилей здесь не поможет, в коде шаблона HTML прописаны переносы на следующую строку после каждого фильтра.
В строке
<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 />и еще в этой
<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 />удалите в самом конце
<br />
ConstantinRS (19 Январь 2014 - 14:09) писал:
.price a { color: #fff; font-weight: 500;}на
.price a { font-weight: 500;}
Темы с аналогичным тегами фильтры по характеристикам, фильтры, товары, фильтры товаров
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных