10
Подбор продукции по параметрам. Как работают фильтры
Автор alex21021, 10 янв. 2011 23:53
Сообщений в теме: 150
#141
Отправлено 31 Январь 2014 - 12:12
спасибо большое, как еще:
1. избавиться от перезагружки экрана при выборе поочередно каждого параметра фильтра
2. увеличить отдельно размер шрифта для значений фильтров, типа "44 мм." или "38 мм.", например?
1. избавиться от перезагружки экрана при выборе поочередно каждого параметра фильтра
2. увеличить отдельно размер шрифта для значений фильтров, типа "44 мм." или "38 мм.", например?
#143
Отправлено 01 Февраль 2014 - 06:09
1. http://forum.storela...__20#entry11885
2. Вам шрифт в списках необходимо увеличить?
3. Уменьшить название хар-ки, они падает на вторую строку из-за чего идет смещение текста с полем.
2. Вам шрифт в списках необходимо увеличить?
3. Уменьшить название хар-ки, они падает на вторую строку из-за чего идет смещение текста с полем.
#144
Отправлено 01 Август 2014 - 11:48
Здравствуйте, почему, когда я делаю фильтры выпадающим списком, у меня отключается кнопка "добавить в корзину"
Причём из каталога она работает, а вот из карточки товара - нет.
Пример кода, который вставляю - <!-- Если в тарифном плане подключен модуль фильтров по товарам -->
{% IF TARIFF_FEATURE_GOODS_FILTERS %}
<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
{% IF SHOW_GOODS_FILTERS %}
<div class="filters">
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
<form action="" method="get">
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
{% FOR filter_attr_list %}
<div class="filter">
{filter_attr_list.NAME}:<br />
<select onchange="$(this).attr('name', $(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 onchange="$(this).attr('name', $(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 %}
<div class="clear"></div>
</form>
</div>
{% ENDIF %}
{% ENDIF %}
<!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
А так же вопрос: как перенести фильтр по цене вместе с остальными фильтрами и поставить их над товарами. Простым переносом кода не выходит. Он отображается не коректно и не работает.
аккаунт SL-162747
Причём из каталога она работает, а вот из карточки товара - нет.
Пример кода, который вставляю - <!-- Если в тарифном плане подключен модуль фильтров по товарам -->
{% IF TARIFF_FEATURE_GOODS_FILTERS %}
<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
{% IF SHOW_GOODS_FILTERS %}
<div class="filters">
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
<form action="" method="get">
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
{% FOR filter_attr_list %}
<div class="filter">
{filter_attr_list.NAME}:<br />
<select onchange="$(this).attr('name', $(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 onchange="$(this).attr('name', $(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 %}
<div class="clear"></div>
</form>
</div>
{% ENDIF %}
{% ENDIF %}
<!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
А так же вопрос: как перенести фильтр по цене вместе с остальными фильтрами и поставить их над товарами. Простым переносом кода не выходит. Он отображается не коректно и не работает.
аккаунт SL-162747
#145
Отправлено 01 Август 2014 - 19:57
spliny (01 Август 2014 - 11:48) писал:
Здравствуйте, почему, когда я делаю фильтры выпадающим списком, у меня отключается кнопка "добавить в корзину"
Причём из каталога она работает, а вот из карточки товара - нет.
А так же вопрос: как перенести фильтр по цене вместе с остальными фильтрами и поставить их над товарами. Простым переносом кода не выходит. Он отображается не коректно и не работает.
аккаунт SL-162747
Причём из каталога она работает, а вот из карточки товара - нет.
А так же вопрос: как перенести фильтр по цене вместе с остальными фильтрами и поставить их над товарами. Простым переносом кода не выходит. Он отображается не коректно и не работает.
аккаунт SL-162747
Здравствуйте, на карточку товара фильтры никак не должны повлиять, т.к. находятся в разных шаблонах.
Для того, чтобы перенести фильтры, удалите из шаблона HTML 397 блок
<!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <style> #goods-filter-price-slider {font-size:10px;} .contentTbodySearchPriceFilterBlock {padding: 0.5em 1em 0 1.05em;text-align:center;} .goodsFilterPriceInfo {padding:0.3em 0 0em;color:#999;font-size:0.9em;} .goodsFilterPriceInfo input {width:45px;border: 0px;color:#999;} .goodsFilterPriceRangePointers {height: 16px;font-size: 0.7em;color: #CCC;width: 100%;overflow: visible;} .goodsFilterPriceRangePointers .min {float: left; margin-left: -7px; } .goodsFilterPriceRangePointers .max {float: right; margin-right: -8px;} .goodsFilterPriceSubmit {padding: 0.5em 0 0.4em;display:none;} </style> <script type="text/javascript"> $(function() { var // Минимальное значение цены для фильтра priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text()) // Максимальное значение цены для фильтра ,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text()) // Максимальное значение цены для фильтра ,priceSliderBlock = $('#goods-filter-price-slider') // Поле ввода текущего значения цены "От" ,priceInputMin = $( "#goods-filter-min-price" ) // Поле ввода текущего значения цены "До" ,priceInputMax = $( "#goods-filter-max-price" ) // Блок с кнопкой, которую есть смысл нажимать только тогда, когда изменялся диапазон цен. ,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" ) ; // Изменяет размер ячеек с ценой, т.к. у них нет рамок, есть смысл менять размеры полей ввода, чтобы они выглядили как текст function priceInputsChangeWidthByChars() { priceInputMin.css('width', (priceInputMin.val().length*7 + 3) + 'px'); priceInputMax.css('width', (priceInputMax.val().length*7 + 3) + 'px'); } // Слайдер, который используется для удобства выбора цены priceSliderBlock.slider({ range: true, min: priceFilterMinAvailable, max: priceFilterMaxAvailable, values: [ parseInt($('#goods-filter-min-price').val()) ,parseInt($('#goods-filter-max-price').val()) ], slide: function( event, ui ) { priceInputMin.val( ui.values[ 0 ] ); priceInputMax.val( ui.values[ 1 ] ); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); } }); // При изменении минимального значения цены priceInputMin.keyup(function(){ var newVal = parseInt($(this).val()); if(newVal < priceFilterMinAvailable) { newVal = priceFilterMinAvailable; } priceSliderBlock.slider("values", 0, newVal); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); }); // При изменении максимального значения цены priceInputMax.keyup(function(){ var newVal = parseInt($(this).val()); if(newVal > priceFilterMaxAvailable) { newVal = priceFilterMaxAvailable; } priceSliderBlock.slider("values", 1, newVal); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); }); // Обновить размеры полей ввода диапазона цен priceInputsChangeWidthByChars(); }); </script> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <li class="goods_filters"><br /><h2>Цена</h2> <ul> <div class="contentTbodySearchPriceFilterBlock cornerAll"> <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"> <input class="more-link onlybutton" type="submit" value="Показать" style="padding-right:11px;" /> </div> </div> </ul> </li> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам --> {% IF SHOW_GOODS_FILTERS %} <li class="goods_filters"><br /><h2>Фильтры</h2> <ul> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд батареи) --> {% FOR filter_attr_list %} <span class="contentTbodySearchFilterBlockHeader">{filter_attr_list.NAME}</span> <div class="contentTbodySearchFilterBlockValues"> {% FOR values %} <div {% IF filter_attr_list.values.NB_GOODS_FILTERED=0 %}style="display:none;"{% 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 %}disable="disable"{% ENDIF %} /> <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} ({filter_attr_list.values.NB_GOODS_FILTERED})</label><br /> </div> {% ENDFOR %} </div> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <span class="contentTbodySearchFilterBlockHeader">{filter_prop_list.NAME}</span> <div class="contentTbodySearchFilterBlockValues"> {% FOR values %} <div {% IF filter_prop_list.values.NB_GOODS_FILTERED=0 %}style="display:none;"{% 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 %}disable="disable"{% ENDIF %} > <label for="filterPropVal{filter_prop_list.values.ID}">{filter_prop_list.values.VALUE} ({filter_prop_list.values.NB_GOODS_FILTERED})</label><br /> </div> {% ENDFOR %} </div> {% ENDFOR %} </div> </ul> </li> {% ENDIF %} </form> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
Далее в шаблоне Товары замените блок
<!-- Блок выбора параметра по которому производится сортировка списка товаров и возможность изменения лимитов выдачи --> <form action=""> <table class="goodsListingTopNavigation"> <tr> <td> <!-- Список фильтров, которые сейчас действуют на результаты поиска --> {% FOR goods_filters %} <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" /> {% ENDFOR %} <!-- Поле выбора сортировки --> {% IF goods_show_order_fields %} Сортировать по: <select name="goods_search_field_id" onchange="this.form.submit();"> {% FOR goods_order_fields %} <option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option> {% ENDFOR %} </select> {% ENDIF %} </td> <td class="alignCenter viewSelector"> <!-- Переключатель режима просмотра --> {% IF GOODS_VIEW_TYPE=2 %} <strong title="Список товаров сейчас отображается в виде таблицы, по 3 товара на строку">Таблица</strong> <a rel="nofollow" href="?goods_view_type=1" title="Отображать список товаров в виде списка">Список</a> {% ELSE %} <a rel="nofollow" href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 3мя товарами на одну строку">Таблица</a> <strong title="Список товаров сейчас отображается в виде списка, где один товар занимает одну строку">Список</strong> {% ENDIF %} <!-- /Переключатель режима просмотра --> </td> <td class="alignRight"> <!-- Поле выбора лимитов --> {% IF goods_show_per_page %} Показывать по: <select name="per_page" onchange="this.form.submit();"> {% FOR goods_per_page_list %} <option value="{goods_per_page_list.LIMIT}" {% IF goods_per_page_list.SELECTED %}selected="selected"{% ENDIF %}>{goods_per_page_list.LIMIT}</option> {% ENDFOR %} </select> {% ENDIF %} </td> </tr> </table> </form> <!-- END Блок выбора параметра по которому производится сортировка списка товаров -->на этот
<!-- Блок выбора параметра по которому производится сортировка списка товаров и возможность изменения лимитов выдачи --> <!-- Блок выбора параметра по которому производится сортировка списка товаров и возможность изменения лимитов выдачи --> <form action=""> <table class="goodsListingTopNavigation"> <tr> <td> <!-- Список фильтров, которые сейчас действуют на результаты поиска --> {% FOR goods_filters %} <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" /> {% ENDFOR %} <!-- Поле выбора сортировки --> {% IF goods_show_order_fields %} Сортировать по: <select name="goods_search_field_id" onchange="this.form.submit();"> {% FOR goods_order_fields %} <option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option> {% ENDFOR %} </select> {% ENDIF %} </td> <td class="alignCenter viewSelector"> <!-- Переключатель режима просмотра --> {% IF GOODS_VIEW_TYPE=2 %} <strong title="Список товаров сейчас отображается в виде таблицы, по 2 товара на строку">Таблица</strong> <a href="?goods_view_type=1" title="Отображать список товаров в виде списка">Список</a> {% ELSE %} <a href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 2мя товарами на одну строку">Таблица</a> <strong title="Список товаров сейчас отображается в виде списка, где один товар занимает одну строку">Список</strong> {% ENDIF %} <!-- /Переключатель режима просмотра --> </td> <td class="alignRight"> <!-- Поле выбора лимитов --> {% IF goods_show_per_page %} Показывать по: <select name="per_page" onchange="this.form.submit();"> {% FOR goods_per_page_list %} <option value="{goods_per_page_list.LIMIT}" {% IF goods_per_page_list.SELECTED %}selected="selected"{% ENDIF %}>{goods_per_page_list.LIMIT}</option> {% ENDFOR %} </select> {% ENDIF %} </td> </tr> </table> </form> <!-- END Блок выбора параметра по которому производится сортировка списка товаров --> <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам --> {% IF SHOW_GOODS_FILTERS %} <!-- Если в тарифном плане подключен модуль фильтров по товарам --> {% IF TARIFF_FEATURE_GOODS_FILTERS %} <form action="" method="get"> {% IF SHOW_GOODS_PRICE_FILTERS %} <style> #goods-filter-price-slider {font-size:10px;} .contentTbodySearchPriceFilterBlock {padding: 0.5em 1em 0 1.05em;text-align:center;} .goodsFilterPriceInfo {padding:0.3em 0 0em;color:#999;font-size:0.9em;} .goodsFilterPriceInfo input {width:45px;border: 0px;color:#999;} .goodsFilterPriceRangePointers {height: 16px;font-size: 0.7em;color: #CCC;width: 100%;overflow: visible;} .goodsFilterPriceRangePointers .min {float: left; margin-left: -7px; } .goodsFilterPriceRangePointers .max {float: right; margin-right: -8px;} .goodsFilterPriceSubmit {padding: 0.5em 0 0.4em;display:none;} </style> <script type="text/javascript"> $(function() { var // Минимальное значение цены для фильтра priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text()) // Максимальное значение цены для фильтра ,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text()) // Максимальное значение цены для фильтра ,priceSliderBlock = $('#goods-filter-price-slider') // Поле ввода текущего значения цены "От" ,priceInputMin = $( "#goods-filter-min-price" ) // Поле ввода текущего значения цены "До" ,priceInputMax = $( "#goods-filter-max-price" ) // Блок с кнопкой, которую есть смысл нажимать только тогда, когда изменялся диапазон цен. ,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" ) ; // Изменяет размер ячеек с ценой, т.к. у них нет рамок, есть смысл менять размеры полей ввода, чтобы они выглядили как текст function priceInputsChangeWidthByChars() { priceInputMin.css('width', (priceInputMin.val().length*7 + 3) + 'px'); priceInputMax.css('width', (priceInputMax.val().length*7 + 3) + 'px'); } // Слайдер, который используется для удобства выбора цены priceSliderBlock.slider({ range: true, min: priceFilterMinAvailable, max: priceFilterMaxAvailable, values: [ parseInt($('#goods-filter-min-price').val()) ,parseInt($('#goods-filter-max-price').val()) ], slide: function( event, ui ) { priceInputMin.val( ui.values[ 0 ] ); priceInputMax.val( ui.values[ 1 ] ); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); } }); // При изменении минимального значения цены priceInputMin.keyup(function(){ var newVal = parseInt($(this).val()); if(newVal < priceFilterMinAvailable) { newVal = priceFilterMinAvailable; } priceSliderBlock.slider("values", 0, newVal); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); }); // При изменении максимального значения цены priceInputMax.keyup(function(){ var newVal = parseInt($(this).val()); if(newVal > priceFilterMaxAvailable) { newVal = priceFilterMaxAvailable; } priceSliderBlock.slider("values", 1, newVal); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); }); // Обновить размеры полей ввода диапазона цен priceInputsChangeWidthByChars(); }); </script> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <li class="goods_filters" style="list-style-type: none;"><br /><h2>Цена</h2> <ul> <div class="contentTbodySearchPriceFilterBlock cornerAll"> <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"> <input class="more-link onlybutton" type="submit" value="Показать" style="padding-right:11px;" /> </div> </div> </ul> </li> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам --> {% IF SHOW_GOODS_FILTERS %} <li class="goods_filters" style=" list-style-type: none;"><h2>Фильтр по свойствам</h2> <ul> <div class="contentTbodySearchFilterBlock cornerAll"> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккамулятора) --> {% FOR filter_attr_list %} <li style="display:inline-table;margin-left:5px;width:150px!important;"> <span class="contentTbodySearchFilterBlockHeader" style="padding-left:0px;">{filter_attr_list.NAME}</span> <div class="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"{% 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></li> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <li style="display:inline-table;margin-left:5px;margin-right: 30px;"> <span class="contentTbodySearchFilterBlockHeader" style="padding-left:5px;">{filter_prop_list.NAME}</span> <div class="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"{% ENDIF %} > <label style="margin-right: 10px;" 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></li> {% ENDFOR %} <li> <button type="button" name="reset" onclick="javascript:document.location = document.location.pathname;">Сбросить фильтры</button> </li> </div> </form> </ul> </li> {% ENDIF %} {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам --> </form> <!-- END Блок выбора параметра по которому производится сортировка списка товаров --> {% ENDIF %}
#146
Отправлено 02 Август 2014 - 00:34
Спасибо, всё перенёс, сделал выпадающие списки. кнопка добавить в корзину работает.
Я тоже не понял как эти две вещи связаны были, но перепроверял 4 раза. именно при вставке кода для выпадающих фильтров отключалась кнопка добавить в корзину, расположенная в карточке товара.
Ещё раз спасибо.
Я тоже не понял как эти две вещи связаны были, но перепроверял 4 раза. именно при вставке кода для выпадающих фильтров отключалась кнопка добавить в корзину, расположенная в карточке товара.
Ещё раз спасибо.
#147
Отправлено 20 Май 2016 - 08:10
Добрый день уважаемые спецы!
Перестали работать на сайте: фильтры в категориях, добавление в сравнение, увеличение картинок в карточке товаров, добавление отзывов
Просьба помочь
С уважением,
Андрей Нафиков
Номер аккаунта 40000
Перестали работать на сайте: фильтры в категориях, добавление в сравнение, увеличение картинок в карточке товаров, добавление отзывов
Просьба помочь
С уважением,
Андрей Нафиков
Номер аккаунта 40000
#148
Отправлено 20 Май 2016 - 11:11
Подскажите, пожалуйста, как сделать отображение фильтра по характеристикам не выпадающим списком, а чекбоксом с возможностью выбора одновременно нескольких значений одной характеристики и вообще возможно ли это? Вижу подходящий скрин в ответе тремя постами выше.. но не понимаю как мне это осуществить - там ответ на совершенно другой вопрос.
Шаблон Цитрус
Аккаунт SL-386607
Шаблон Цитрус
Аккаунт SL-386607
#149
Отправлено 21 Май 2016 - 06:26
#150
Отправлено 26 Январь 2018 - 12:58
Добрый день!
Как установить фильтр подбора товаров по характеристикам с выпадающим списком так что бы он был виден в главном меню каталога товаров и в основных категориях каталога? Так же интересует вопрос нахождения такого фильтра на главной странице так как товарных наименований очень много.
Как установить фильтр подбора товаров по характеристикам с выпадающим списком так что бы он был виден в главном меню каталога товаров и в основных категориях каталога? Так же интересует вопрос нахождения такого фильтра на главной странице так как товарных наименований очень много.
#151
Отправлено 30 Январь 2018 - 14:23
Пользователь SL-416678 (26 Январь 2018 - 12:58) писал:
Добрый день!
Как установить фильтр подбора товаров по характеристикам с выпадающим списком так что бы он был виден в главном меню каталога товаров и в основных категориях каталога? Так же интересует вопрос нахождения такого фильтра на главной странице так как товарных наименований очень много.
Как установить фильтр подбора товаров по характеристикам с выпадающим списком так что бы он был виден в главном меню каталога товаров и в основных категориях каталога? Так же интересует вопрос нахождения такого фильтра на главной странице так как товарных наименований очень много.
Фильтры можно настроить в редактировании категории. В разделе Товары-> Товары в левом столбике кликнете по названию категории правой кнопкой мыши и выберите Настроить категорию. В самом конце страницы добавьте необходимые для этой категории фильтры либо по характеристикам либо по модификациям. Фильтры по свойствам, которые добавлены у самих товаров. Фильтры можно добавить только к категориям, но не на главную или на основную страницу каталога. Для этого вопроса у нас есть только одно решение, а именно создать скрытую категорию, добавить в нее все товары, настроить в ней фильтры и при помощи скрипта выводить данные фильтры на главную или в каталог, но поиск товаров будет осуществляться именно в этой скрытой категории. Вас устроит такой вариант?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных