Михаил4466 (14 Ноябрь 2013 - 18:03) писал:
#21
Отправлено 14 Ноябрь 2013 - 19:57
#22
Отправлено 14 Ноябрь 2013 - 20:11
Михаил4466 (14 Ноябрь 2013 - 18:03) писал:
sibulba (14 Ноябрь 2013 - 19:57) писал:
За исключением того, что вам надо менять код в шаблоне "Товары"
Во вставляемом коде надо после строки
<style>добавить еще такую строку
.goods_filters {list-style: none; }И в шаблоне HTML вставьте строку
<link rel="stylesheet" href="{FORALL_STYLES_PATH}jquery-ui/jquery.ui.all.min.css" type="text/css" />после строки
<!-- Стили магазина -->
#23
Отправлено 15 Ноябрь 2013 - 22:41
Код заменил,но фильтр не отражается.Посмотрите.
Спасибо.
#24
Отправлено 16 Ноябрь 2013 - 00:15
#25
Отправлено 16 Ноябрь 2013 - 00:20
#26
Отправлено 16 Ноябрь 2013 - 07:33
#27
Отправлено 18 Ноябрь 2013 - 19:52
Подскажите в перспективе для новых шаблонов или для старых также, возиожно будет сделать такуюже фильтрацию как по Цене, но для размеров например, диаметр, высота вес обьём и так далее?
#28
Отправлено 19 Ноябрь 2013 - 13:25
dfysdbu (18 Ноябрь 2013 - 19:52) писал:
Подскажите в перспективе для новых шаблонов или для старых также, возиожно будет сделать такуюже фильтрацию как по Цене, но для размеров например, диаметр, высота вес обьём и так далее?
#29
Отправлено 20 Ноябрь 2013 - 19:56
otdyh-i-son (16 Ноябрь 2013 - 07:33) писал:
Для того, чтобы добавить фильтр по ценам в шаблон Осень нужно заменить файл forall.js forall.zip 61,63К 264 Количество загрузок:
и в файле Товары найти код
{% IFNOT index_page && ONLY_BODY=0 %} <div class="breadcrumb"> <a href="http://{NET_DOMAIN}/" title="Перейти на главную">Главная</a> <span class="navigation-pipe"></span> {% IF IS_FULL_CATALOG %} Каталог {% ELSE %} <a href="{CATALOG_URL}" title="Перейти в каталог продукции нашего магазина">Каталог</a> <span class="navigation-pipe"></span> {% FOR upper_navigation %} {% IF upper_navigation.CURRENT %}{upper_navigation.NAME}{% ELSEIF upper_navigation.CURRENT_PARENT %}<a href="{upper_navigation.URL}" title="Перейти в категорию &laquo;{upper_navigation.NAME}&raquo;">{upper_navigation.NAME}</a><span class="navigation-pipe"></span>{% ENDIF %} {% ENDFOR %} {% ENDIF %} </div> {% ENDIF %} <!-- В корне каталога товаров не отображаем заголовок --> {% IFNOT IS_FULL_CATALOG && ONLY_BODY=0 %} <div class="page-title category-title"> <h1>{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}</h1> </div> {% ENDIF %} {% IF FORM_NOTICE && ONLY_BODY=0 %}<ul class="messages"><li class="{% IF FORM_NOTICE_IS_GOOD %}success{% ELSE %}error{% ENDIF %}">{FORM_NOTICE | nl2br}</li></ul>{% ENDIF %} <!-- В корне каталога товаров отобразим все корневые категории если они есть на сайте --> {% IF IS_FULL_CATALOG && nested_categories_list_empty=0 || goods_empty=1 && nested_categories_list_empty=0 && goods_filters_empty=1 %} <div class="grid_view" id="category_view_type"> <div class="sqr_img" id="category_image_type"> <div class="group" id="product_list_wrapper"> <!-- Блок навигации по категориям, вложенным в текущую категорию --> <ul class="grid2" id="product_list"> {% FOR nested_categories_list %} <li class="ajax_block_product"> <div> <div class="product_image_wrapper"> <a href="{nested_categories_list.URL}" title="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;" class="product_img_link"> <img class="product_image" src="{% IF nested_categories_list.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-small.png{% ELSE %}{nested_categories_list.IMAGE_MEDIUM}{% ENDIF %}" alt="{nested_categories_list.NAME}"> </a> </div> <div class="product_list_details"> <div class="product_list_details_left"> <h5><a href="{nested_categories_list.URL}" title="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;">{nested_categories_list.NAME}</a></h5> </div> </div> </div> </li> {% ENDFOR %} </ul> </div> </div> </div> <!-- В категориях используем стандартный алгоритм отображения товаров --> {% ELSE %} <!-- Если нет товаров, выводим сообщение пользователю --> {% IF goods_empty %} {% IF goods_filters_empty %} <p class="warning">Нет товаров в выбранной категории</p> {% ELSE %} <p class="warning">Нет товаров для выбранных условий</p> {% ENDIF %} {% ENDIF %} <!-- /Если нет товаров, выводим сообщение пользователю --> <div class="category-products"> <!-- Если нет товаров, либо у пользователя не сработало javascript ограничение на фильтре по товарам и так получилось что их не нашлось, отобразим блок изменяющий отображение данных выдачи товаров --> {% IF goods_empty=0 || goods_filters_empty=0 %} <!-- Верхний блок, изменяющий отображение данных выдачи товаров --> <div class="content_sortPagiBar"> <div class="sortPagiBar group"> <form action="" class="form-inline OrderFilterForm"> <!-- Список фильтров, которые сейчас действуют на результаты поиска --> {% FOR goods_filters %} <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" /> {% ENDFOR %} <strong style="float: left;line-height:35px;">{GOODS_PAGES_RESULTS} товар{GOODS_PAGES_RESULTS | gen_word_end("","а","ов")} в категории</strong> <!-- Блок изменения вида списка и поля сортировки --> <div id="category_view_changer"> {% IF GOODS_VIEW_TYPE=2 %} <a href="?goods_view_type=1" title="Отображать список товаров в виде списка" class="grid_view"></a> <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде таблицы, по 3 товара на строку" class="list_view_active"></a> {% ELSE %} <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде списка, где один товар занимает одну строку" class="grid_view_active"></a> <a href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 3-мя товарами на одну строку" class="list_view"></a> {% ENDIF %} </div> <!-- END Блок изменения вида списка и поля сортировки --> <!-- Блок возможности изменения лимитов выдачи -- > {% IF goods_show_per_page %} <div class="nbrItemPage pagination"> <p> <label>Показывать по:</label> <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> </p> </div> {% ENDIF %} <!-- /Блок возможности изменения лимитов выдачи --> <div id="productsSortForm"> <!-- Поле выбора сортировки --> {% IF goods_show_order_fields %} <label class="sort_by">Сортировать по:</label> <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 %} </div> </form> </div> <!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS && 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('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> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> {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> {% ENDFOR %} <div class="clear"></div> </form> </div> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> </div> <!-- /Верхний блок, изменяющий отображение данных выдачи товаров --> {% ENDIF %} <!-- /Если нет товаров, либо у пользователя не сработало javascript ограничение на фильтре по товарам и так получилось что их не нашлось, отобразим блок изменяющий отображение данных выдачи товаров --> <!-- Если есть товары --> {% IFNOT goods_empty %} <div class="{% IF GOODS_VIEW_TYPE=1 %}grid_view{% ELSE %}group list_view{% ENDIF %}" id="category_view_type"> <div class="sqr_img" id="category_image_type"> <div class="group" id="product_list_wrapper"> {% IF GOODS_VIEW_TYPE=1 %} <ul class="grid" id="product_list"> {% FOR goods %} <li class="elem"> <div> <div class="product_image_wrapper"> <a href="{goods.URL | url_amp}" title="{goods.NAME}" class="product_img_link"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /> </a> </div> <div class="product_list_details"> <div class="product_list_details_left"> <h5><a href="{goods.URL | url_amp}" title="{goods.NAME}">{goods.NAME}</a></h5> <div class="price_container"> <span class="price">{goods.MIN_PRICE_NOW | money_format}</span> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_OLD | money_format}</span> {% ENDIF %} </div> <div class="rating"> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF goods.OPINION_RATING_VALUE %} <img src="{FORALL_IMAGES_PATH}stars/{goods.OPINION_RATING_VALUE | number("0","","")}.gif" alt="{goods.OPINION_RATING_VALUE}" /> {% ENDIF %} {% IF goods.OPINION_RATING_CNT_ALL>0 %} <a href="{goods.URL | url_amp}?generally_is_good=-1&page=1">Отзывы ({goods.OPINION_RATING_CNT_ALL})</a> {% ELSE %} <a href="{goods.URL | url_amp}?&amp;form%5Bgoods_id%5D=opinion#goodsDataOpinionAdd">Оставить отзыв первым</a> {% ENDIF %} </div> <div class="product_list_add_to_cart"> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-{goods.MIN_PRICE_NOW_ID}"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <!--a class="ajax_add_to_cart_button add_to_cart_ph" onclick="$('.product-form-{goods.MIN_PRICE_NOW_ID}').attr('rel', 'quick').submit();return false;" title="Быстро оформить заказ">Добавить в корзину</a--> <a class="ajax_add_to_cart_button add_to_cart_ph" onclick="quickorder('.product-form-{goods.MIN_PRICE_NOW_ID}');return false;" title="Быстрый заказ">Быстрый заказ</a> </form> </div> <div class="add-to-links"> <!-- Если в тарифном плане подключен модуль сравнения товаров --> {% IF TARIFF_FEATURE_GOODS_COMPARE %} <!-- Если не выключен модуль сравнения товаров в настройках магазина --> {% IFNOT SETTINGS_COMPARE_DISABLE %} {% IF goods.IS_HAS_IN_COMPARE_LIST %} <a title="Убрать товар из списка сравнения с другими товарами" href="{COMPARE_DELETE_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">убрать из сравнения</a> {% ELSE %} <a title="Добавить товар к списку сравнения с другими товарами" href="{COMPARE_ADD_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;from={goods.GOODS_FROM}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">Сравнить</a> {% ENDIF %} {% ENDIF %} {% ENDIF %} </div> </div> </div> </div> </li> {% ENDFOR %} </ul> {% ELSE %} <!-- Список товаров. Таблица --> <div class="grid-container"> <ul class="grid" id="product_list"> {% FOR goods %} <li class="elem"> <div class="product_list_details_right"> <div class="product_image_wrapper"> {% IF user_agent_ie7 %} <a class="product_img_link" href="{goods.URL | url_amp}" title="{goods.NAME}"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}"> </a> {% ELSEIF user_agent_ie8 %} <a class="product_img_link" href="{goods.URL | url_amp}" title="{goods.NAME}"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}"> </a> {% ELSE %} <a class="product_img_link" href="{goods.URL | url_amp}" title="{goods.NAME}"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}"> </a> {% ENDIF %} <div class="rating"> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF goods.OPINION_RATING_VALUE %} <img src="{FORALL_IMAGES_PATH}stars/{goods.OPINION_RATING_VALUE | number("0","","")}.gif" alt="{goods.OPINION_RATING_VALUE}" /> {% ENDIF %} {% IF goods.OPINION_RATING_CNT_ALL>0 %} <a href="{goods.URL | url_amp}?generally_is_good=-1&page=1">Отзывы ({goods.OPINION_RATING_CNT_ALL})</a> {% ELSE %} <a href="{goods.URL | url_amp}?&amp;form%5Bgoods_id%5D=opinion#goodsDataOpinionAdd">Оставить отзыв первым</a> {% ENDIF %} </div> </div> <div class="price_container {% IF goods.MIN_PRICE_NOW>=goods.MIN_PRICE_OLD %}price-box-for-regular-price{% ELSE %}price-box{% ENDIF %}" > <span class="price">{goods.MIN_PRICE_NOW | money_format}</span> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_OLD | money_format}</span> {% ENDIF %} </div> <div class="product_list_add_to_cart"> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-{goods.MIN_PRICE_NOW_ID}"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <a class="ajax_add_to_cart_button add_to_cart link" onclick="$('.product-form-{goods.MIN_PRICE_NOW_ID}').attr('rel', 'quick').submit();return false;" title="Быстро оформить заказ">Добавить в корзину</a> </form> </div> <div class="product_list_add_to_cart"> <div class="add-to-links" style="display: block;"> <!-- Если в тарифном плане подключен модуль сравнения товаров --> {% IF TARIFF_FEATURE_GOODS_COMPARE %} <!-- Если не выключен модуль сравнения товаров в настройках магазина --> {% IFNOT SETTINGS_COMPARE_DISABLE %} {% IF goods.IS_HAS_IN_COMPARE_LIST %} <a title="Убрать товар из списка сравнения с другими товарами" href="{COMPARE_DELETE_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">убрать из сравнения</a> {% ELSE %} <a title="Добавить товар к списку сравнения с другими товарами" href="{COMPARE_ADD_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;from={goods.GOODS_FROM}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">Сравнить</a> {% ENDIF %} {% ENDIF %} {% ENDIF %} </div> </div> </div> <div class="product_list_details"> <div class="product_list_details_left"> <h5><a href="{goods.URL | url_amp}" title="{goods.NAME}">{goods.NAME}</a></h5> {% IF goods.DESCRIPTION_LARGE %} <div class="product_desc"> <div class="product_desc"> {goods.DESCRIPTION_LARGE} <a href="{goods.URL | url_amp}" title="{goods.NAME}" class="link-more">узнать больше...</a> </div> </div> {% ENDIF %} </div> </div> <div class="clear"></div> </li> {% ENDFOR %} </ul> </div> <!-- /Список товаров. Таблица --> {% ENDIF %} </div> </div> </div> {% ENDIF %} <!-- /Если есть товары --> <!-- Ссылки постраничной навигации для бесконечного скрова --> <div style="display: none;" class="infinitescroll-pages"> {% FOR goods_pages %} {% IFNOT goods_pages.CURRENT %} <a href="{GOODS_PAGINATE_URL | url_amp}&only_body=1&page={goods_pages.PAGE}">{goods_pages.PAGE}</a> {% ENDIF %} {% ENDFOR %} </div> <!-- /Ссылки постраничной навигации для бесконечного скрова --> <!-- Для полного отображения страницы товаров оторазим элементы навигации и обёрточные блоки --> {% IFNOT ONLY_BODY && goods_empty=0 %} <div class="content_sortPagiBar"> <div class="sortPagiBar group"> <form action="" class="form-inline OrderFilterForm"> <!-- Список фильтров, которые сейчас действуют на результаты поиска --> {% FOR goods_filters %} <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" /> {% ENDFOR %} <strong style="float: left;line-height:35px;">{GOODS_PAGES_RESULTS} товар{GOODS_PAGES_RESULTS | gen_word_end("","а","ов")} в категории</strong> <!-- Блок изменения вида списка и поля сортировки --> <div id="category_view_changer"> {% IF GOODS_VIEW_TYPE=2 %} <a href="?goods_view_type=1" title="Отображать список товаров в виде списка" class="grid_view"></a> <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде таблицы, по 3 товара на строку" class="list_view_active"></a> {% ELSE %} <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде списка, где один товар занимает одну строку" class="grid_view_active"></a> <a href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 3-мя товарами на одну строку" class="list_view"></a> {% ENDIF %} </div> <!-- END Блок изменения вида списка и поля сортировки --> <!-- Блок возможности изменения лимитов выдачи -- > {% IF goods_show_per_page %} <div class="nbrItemPage pagination"> <p> <label>Показывать по:</label> <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> </p> </div> {% ENDIF %} <!-- /Блок возможности изменения лимитов выдачи --> <div id="productsSortForm"> <!-- Поле выбора сортировки --> {% IF goods_show_order_fields %} <label class="sort_by">Сортировать по:</label> <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 %} </div> <!-- Страницы --> {% IF show_pages %} <div class="pages"> <ul class="pagination"> {% FOR goods_pages %} {% IF goods_pages.CURRENT %} <li class="current">{goods_pages.PAGE}</li> {% ELSE %} <li class="page_number"><a href="{GOODS_PAGINATE_URL | url_amp}&page={goods_pages.PAGE}">{goods_pages.PAGE}</a></li> {% ENDIF %} {% ENDFOR %} </ul> </div> {% ENDIF %} <!-- /Страницы --> <!-- Запоминаем сколько всего есть страниц в каталоге --> <script type="text/javascript">var infiniteScrollLastPage = "{GOODS_PAGES_LAST}";</script> </form> </div> </div> {% ENDIF %} <!-- /Для полного отображения страницы товаров оторазим элементы навигации и обёрточные блоки --> </div> {% ENDIF %} <!-- Для полного отображения страницы товаров оторазим описания --> {% IFNOT ONLY_BODY %} {% IF CATEGORY_DESCRIPTION %} <div class="col-main" style="margin-top:10px;"> <div class="htmlDataBlock" style="*padding: 0px;"> {CATEGORY_DESCRIPTION} </div> </div> {% ENDIF %} <!-- Короткое SEO описание категории --> {% IF CATEGORY_SEO_DESCRIPTION_SHORT %} <div class="col-main" style="margin-top:10px;"> <div class="htmlDataBlock"> {CATEGORY_SEO_DESCRIPTION_SHORT} </div> </div> {% ENDIF %} {% IF CATEGORY_SEO_DESCRIPTION_LARGE %} <div class="col-main" style="margin-top:10px;"> <div class="htmlDataBlock"> {CATEGORY_SEO_DESCRIPTION_LARGE} </div> </div> {% ENDIF %} {% ENDIF %} <!-- /Для полного отображения страницы товаров оторазим описания -->
и заменить его на
{% IFNOT index_page && ONLY_BODY=0 %} <div class="breadcrumb"> <a href="http://{NET_DOMAIN}/" title="Перейти на главную">Главная</a> <span class="navigation-pipe"></span> {% IF IS_FULL_CATALOG %} Каталог {% ELSE %} <a href="{CATALOG_URL}" title="Перейти в каталог продукции нашего магазина">Каталог</a> <span class="navigation-pipe"></span> {% FOR upper_navigation %} {% IF upper_navigation.CURRENT %}{upper_navigation.NAME}{% ELSEIF upper_navigation.CURRENT_PARENT %}<a href="{upper_navigation.URL}" title="Перейти в категорию &laquo;{upper_navigation.NAME}&raquo;">{upper_navigation.NAME}</a><span class="navigation-pipe"></span>{% ENDIF %} {% ENDFOR %} {% ENDIF %} </div> {% ENDIF %} <!-- В корне каталога товаров не отображаем заголовок --> {% IFNOT IS_FULL_CATALOG && ONLY_BODY=0 %} <div class="page-title category-title"> <h1>{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}</h1> </div> {% ENDIF %} {% IF FORM_NOTICE && ONLY_BODY=0 %}<ul class="messages"><li class="{% IF FORM_NOTICE_IS_GOOD %}success{% ELSE %}error{% ENDIF %}">{FORM_NOTICE | nl2br}</li></ul>{% ENDIF %} <!-- В корне каталога товаров отобразим все корневые категории если они есть на сайте --> {% IF IS_FULL_CATALOG && nested_categories_list_empty=0 || goods_empty=1 && nested_categories_list_empty=0 && goods_filters_empty=1 %} <div class="grid_view" id="category_view_type"> <div class="sqr_img" id="category_image_type"> <div class="group" id="product_list_wrapper"> <!-- Блок навигации по категориям, вложенным в текущую категорию --> <ul class="grid2" id="product_list"> {% FOR nested_categories_list %} <li class="ajax_block_product"> <div> <div class="product_image_wrapper"> <a href="{nested_categories_list.URL}" title="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;" class="product_img_link"> <img class="product_image" src="{% IF nested_categories_list.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-small.png{% ELSE %}{nested_categories_list.IMAGE_MEDIUM}{% ENDIF %}" alt="{nested_categories_list.NAME}"> </a> </div> <div class="product_list_details"> <div class="product_list_details_left"> <h5><a href="{nested_categories_list.URL}" title="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;">{nested_categories_list.NAME}</a></h5> </div> </div> </div> </li> {% ENDFOR %} </ul> </div> </div> </div> <!-- В категориях используем стандартный алгоритм отображения товаров --> {% ELSE %} <!-- Если нет товаров, выводим сообщение пользователю --> {% IF goods_empty %} {% IF goods_filters_empty %} <p class="warning">Нет товаров в выбранной категории</p> {% ELSE %} <p class="warning">Нет товаров для выбранных условий</p> {% ENDIF %} {% ENDIF %} <!-- /Если нет товаров, выводим сообщение пользователю --> <div class="category-products"> <!-- Если нет товаров, либо у пользователя не сработало javascript ограничение на фильтре по товарам и так получилось что их не нашлось, отобразим блок изменяющий отображение данных выдачи товаров --> {% IF goods_empty=0 || goods_filters_empty=0 %} <!-- Верхний блок, изменяющий отображение данных выдачи товаров --> <div class="content_sortPagiBar"> <div class="sortPagiBar group"> <form action="" class="form-inline OrderFilterForm"> <!-- Список фильтров, которые сейчас действуют на результаты поиска --> {% FOR goods_filters %} <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" /> {% ENDFOR %} <strong style="float: left;line-height:35px;">{GOODS_PAGES_RESULTS} товар{GOODS_PAGES_RESULTS | gen_word_end("","а","ов")} в категории</strong> <!-- Блок изменения вида списка и поля сортировки --> <div id="category_view_changer"> {% IF GOODS_VIEW_TYPE=2 %} <a href="?goods_view_type=1" title="Отображать список товаров в виде списка" class="grid_view"></a> <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде таблицы, по 3 товара на строку" class="list_view_active"></a> {% ELSE %} <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде списка, где один товар занимает одну строку" class="grid_view_active"></a> <a href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 3-мя товарами на одну строку" class="list_view"></a> {% ENDIF %} </div> <!-- END Блок изменения вида списка и поля сортировки --> <!-- Блок возможности изменения лимитов выдачи -- > {% IF goods_show_per_page %} <div class="nbrItemPage pagination"> <p> <label>Показывать по:</label> <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> </p> </div> {% ENDIF %} <!-- /Блок возможности изменения лимитов выдачи --> <div id="productsSortForm"> <!-- Поле выбора сортировки --> {% IF goods_show_order_fields %} <label class="sort_by">Сортировать по:</label> <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 %} </div> </form> </div> <!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get"> <!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <style> .contentTbodySearchPriceFilterBlock {width: 200px;} .goodsFilterPriceInfo {text-align: center;} .goodsFilterPriceInfo input {width:45px;height: 25px !important;background-color: #f2f2f2;border: none;} .goodsFilterPriceRangePointers {height: 16px;width: 100%;overflow: visible;} .goodsFilterPriceRangePointers label {float: left;margin: 0 !important;} .goodsFilterPriceRangePointers .min {float: left; margin-left: 5px; } .goodsFilterPriceRangePointers .max {float: left; margin-left: 5px;} #goods-filter-price-slider {margin: 10px 5px;} .ui-slider .ui-slider-range {background: #da3b44;} .goodsFilterPriceSubmit {padding: 0.5em 0 0.4em;display:none;text-align: center;} </style> <div class="block"> <div class="blockmain"> <ul class="filter"> <div class="contentTbodySearchPriceFilterBlock cornerAll txtalgncnt"> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><label>Цена:</label><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="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="exclusive" type="submit" value="Показать" /> </div> </div> </ul> </div> </div> <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 + 30) + 'px'); priceInputMax.css('width', (priceInputMax.val().length*7 + 30) + '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> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам --> <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) --> {% FOR filter_attr_list %} <div class="filter"> {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> {% ENDFOR %} <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> {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> {% ENDFOR %} <div class="clear"></div> </form> </div> {% ENDIF %} <!-- END Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> </div> <!-- /Верхний блок, изменяющий отображение данных выдачи товаров --> {% ENDIF %} <!-- /Если нет товаров, либо у пользователя не сработало javascript ограничение на фильтре по товарам и так получилось что их не нашлось, отобразим блок изменяющий отображение данных выдачи товаров --> <!-- Если есть товары --> {% IFNOT goods_empty %} <div class="{% IF GOODS_VIEW_TYPE=1 %}grid_view{% ELSE %}group list_view{% ENDIF %}" id="category_view_type"> <div class="sqr_img" id="category_image_type"> <div class="group" id="product_list_wrapper"> {% IF GOODS_VIEW_TYPE=1 %} <ul class="grid" id="product_list"> {% FOR goods %} <li class="elem"> <div> <div class="product_image_wrapper"> <a href="{goods.URL | url_amp}" title="{goods.NAME}" class="product_img_link"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /> </a> </div> <div class="product_list_details"> <div class="product_list_details_left"> <h5><a href="{goods.URL | url_amp}" title="{goods.NAME}">{goods.NAME}</a></h5> <div class="price_container"> <span class="price">{goods.MIN_PRICE_NOW | money_format}</span> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_OLD | money_format}</span> {% ENDIF %} </div> <div class="rating"> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF goods.OPINION_RATING_VALUE %} <img src="{FORALL_IMAGES_PATH}stars/{goods.OPINION_RATING_VALUE | number("0","","")}.gif" alt="{goods.OPINION_RATING_VALUE}" /> {% ENDIF %} {% IF goods.OPINION_RATING_CNT_ALL>0 %} <a href="{goods.URL | url_amp}?generally_is_good=-1&page=1">Отзывы ({goods.OPINION_RATING_CNT_ALL})</a> {% ELSE %} <a href="{goods.URL | url_amp}?&amp;form%5Bgoods_id%5D=opinion#goodsDataOpinionAdd">Оставить отзыв первым</a> {% ENDIF %} </div> <div class="product_list_add_to_cart"> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-{goods.MIN_PRICE_NOW_ID}"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <!--a class="ajax_add_to_cart_button add_to_cart_ph" onclick="$('.product-form-{goods.MIN_PRICE_NOW_ID}').attr('rel', 'quick').submit();return false;" title="Быстро оформить заказ">Добавить в корзину</a--> <a class="ajax_add_to_cart_button add_to_cart_ph" onclick="quickorder('.product-form-{goods.MIN_PRICE_NOW_ID}');return false;" title="Быстрый заказ">Быстрый заказ</a> </form> </div> <div class="add-to-links"> <!-- Если в тарифном плане подключен модуль сравнения товаров --> {% IF TARIFF_FEATURE_GOODS_COMPARE %} <!-- Если не выключен модуль сравнения товаров в настройках магазина --> {% IFNOT SETTINGS_COMPARE_DISABLE %} {% IF goods.IS_HAS_IN_COMPARE_LIST %} <a title="Убрать товар из списка сравнения с другими товарами" href="{COMPARE_DELETE_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">убрать из сравнения</a> {% ELSE %} <a title="Добавить товар к списку сравнения с другими товарами" href="{COMPARE_ADD_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;from={goods.GOODS_FROM}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">Сравнить</a> {% ENDIF %} {% ENDIF %} {% ENDIF %} </div> </div> </div> </div> </li> {% ENDFOR %} </ul> {% ELSE %} <!-- Список товаров. Таблица --> <div class="grid-container"> <ul class="grid" id="product_list"> {% FOR goods %} <li class="elem"> <div class="product_list_details_right"> <div class="product_image_wrapper"> {% IF user_agent_ie7 %} <a class="product_img_link" href="{goods.URL | url_amp}" title="{goods.NAME}"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}"> </a> {% ELSEIF user_agent_ie8 %} <a class="product_img_link" href="{goods.URL | url_amp}" title="{goods.NAME}"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}"> </a> {% ELSE %} <a class="product_img_link" href="{goods.URL | url_amp}" title="{goods.NAME}"> <img class="product_image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}"> </a> {% ENDIF %} <div class="rating"> <!-- Среднее значение по результатам всех отзывов об этом товаре --> {% IF goods.OPINION_RATING_VALUE %} <img src="{FORALL_IMAGES_PATH}stars/{goods.OPINION_RATING_VALUE | number("0","","")}.gif" alt="{goods.OPINION_RATING_VALUE}" /> {% ENDIF %} {% IF goods.OPINION_RATING_CNT_ALL>0 %} <a href="{goods.URL | url_amp}?generally_is_good=-1&page=1">Отзывы ({goods.OPINION_RATING_CNT_ALL})</a> {% ELSE %} <a href="{goods.URL | url_amp}?&amp;form%5Bgoods_id%5D=opinion#goodsDataOpinionAdd">Оставить отзыв первым</a> {% ENDIF %} </div> </div> <div class="price_container {% IF goods.MIN_PRICE_NOW>=goods.MIN_PRICE_OLD %}price-box-for-regular-price{% ELSE %}price-box{% ENDIF %}" > <span class="price">{goods.MIN_PRICE_NOW | money_format}</span> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <span class="old-price">{goods.MIN_PRICE_OLD | money_format}</span> {% ENDIF %} </div> <div class="product_list_add_to_cart"> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-{goods.MIN_PRICE_NOW_ID}"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <a class="ajax_add_to_cart_button add_to_cart link" onclick="$('.product-form-{goods.MIN_PRICE_NOW_ID}').attr('rel', 'quick').submit();return false;" title="Быстро оформить заказ">Добавить в корзину</a> </form> </div> <div class="product_list_add_to_cart"> <div class="add-to-links" style="display: block;"> <!-- Если в тарифном плане подключен модуль сравнения товаров --> {% IF TARIFF_FEATURE_GOODS_COMPARE %} <!-- Если не выключен модуль сравнения товаров в настройках магазина --> {% IFNOT SETTINGS_COMPARE_DISABLE %} {% IF goods.IS_HAS_IN_COMPARE_LIST %} <a title="Убрать товар из списка сравнения с другими товарами" href="{COMPARE_DELETE_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">убрать из сравнения</a> {% ELSE %} <a title="Добавить товар к списку сравнения с другими товарами" href="{COMPARE_ADD_URL}?id={goods.MIN_PRICE_NOW_ID}&amp;from={goods.GOODS_FROM}&amp;return_to={CURRENT_URL | urlencode}" class="link-compare">Сравнить</a> {% ENDIF %} {% ENDIF %} {% ENDIF %} </div> </div> </div> <div class="product_list_details"> <div class="product_list_details_left"> <h5><a href="{goods.URL | url_amp}" title="{goods.NAME}">{goods.NAME}</a></h5> {% IF goods.DESCRIPTION_LARGE %} <div class="product_desc"> <div class="product_desc"> {goods.DESCRIPTION_LARGE} <a href="{goods.URL | url_amp}" title="{goods.NAME}" class="link-more">узнать больше...</a> </div> </div> {% ENDIF %} </div> </div> <div class="clear"></div> </li> {% ENDFOR %} </ul> </div> <!-- /Список товаров. Таблица --> {% ENDIF %} </div> </div> </div> {% ENDIF %} <!-- /Если есть товары --> <!-- Ссылки постраничной навигации для бесконечного скрова --> <div style="display: none;" class="infinitescroll-pages"> {% FOR goods_pages %} {% IFNOT goods_pages.CURRENT %} <a href="{GOODS_PAGINATE_URL | url_amp}&only_body=1&page={goods_pages.PAGE}">{goods_pages.PAGE}</a> {% ENDIF %} {% ENDFOR %} </div> <!-- /Ссылки постраничной навигации для бесконечного скрова --> <!-- Для полного отображения страницы товаров оторазим элементы навигации и обёрточные блоки --> {% IFNOT ONLY_BODY && goods_empty=0 %} <div class="content_sortPagiBar"> <div class="sortPagiBar group"> <form action="" class="form-inline OrderFilterForm"> <!-- Список фильтров, которые сейчас действуют на результаты поиска --> {% FOR goods_filters %} <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" /> {% ENDFOR %} <strong style="float: left;line-height:35px;">{GOODS_PAGES_RESULTS} товар{GOODS_PAGES_RESULTS | gen_word_end("","а","ов")} в категории</strong> <!-- Блок изменения вида списка и поля сортировки --> <div id="category_view_changer"> {% IF GOODS_VIEW_TYPE=2 %} <a href="?goods_view_type=1" title="Отображать список товаров в виде списка" class="grid_view"></a> <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде таблицы, по 3 товара на строку" class="list_view_active"></a> {% ELSE %} <a title="Список товаров категории &laquo;{% IF IS_FULL_CATALOG %}Каталог{% ELSE %}{CATEGORY_NAME}{% ENDIF %}&raquo; сейчас отображается в виде списка, где один товар занимает одну строку" class="grid_view_active"></a> <a href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 3-мя товарами на одну строку" class="list_view"></a> {% ENDIF %} </div> <!-- END Блок изменения вида списка и поля сортировки --> <!-- Блок возможности изменения лимитов выдачи -- > {% IF goods_show_per_page %} <div class="nbrItemPage pagination"> <p> <label>Показывать по:</label> <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> </p> </div> {% ENDIF %} <!-- /Блок возможности изменения лимитов выдачи --> <div id="productsSortForm"> <!-- Поле выбора сортировки --> {% IF goods_show_order_fields %} <label class="sort_by">Сортировать по:</label> <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 %} </div> <!-- Страницы --> {% IF show_pages %} <div class="pages"> <ul class="pagination"> {% FOR goods_pages %} {% IF goods_pages.CURRENT %} <li class="current">{goods_pages.PAGE}</li> {% ELSE %} <li class="page_number"><a href="{GOODS_PAGINATE_URL | url_amp}&page={goods_pages.PAGE}">{goods_pages.PAGE}</a></li> {% ENDIF %} {% ENDFOR %} </ul> </div> {% ENDIF %} <!-- /Страницы --> <!-- Запоминаем сколько всего есть страниц в каталоге --> <script type="text/javascript">var infiniteScrollLastPage = "{GOODS_PAGES_LAST}";</script> </form> </div> </div> {% ENDIF %} <!-- /Для полного отображения страницы товаров оторазим элементы навигации и обёрточные блоки --> </div> {% ENDIF %} <!-- Для полного отображения страницы товаров оторазим описания --> {% IFNOT ONLY_BODY %} {% IF CATEGORY_DESCRIPTION %} <div class="col-main" style="margin-top:10px;"> <div class="htmlDataBlock" style="*padding: 0px;"> {CATEGORY_DESCRIPTION} </div> </div> {% ENDIF %} <!-- Короткое SEO описание категории --> {% IF CATEGORY_SEO_DESCRIPTION_SHORT %} <div class="col-main" style="margin-top:10px;"> <div class="htmlDataBlock"> {CATEGORY_SEO_DESCRIPTION_SHORT} </div> </div> {% ENDIF %} {% IF CATEGORY_SEO_DESCRIPTION_LARGE %} <div class="col-main" style="margin-top:10px;"> <div class="htmlDataBlock"> {CATEGORY_SEO_DESCRIPTION_LARGE} </div> </div> {% ENDIF %} {% ENDIF %} <!-- /Для полного отображения страницы товаров оторазим описания -->
#30
Отправлено 20 Ноябрь 2013 - 21:08
Lola (20 Ноябрь 2013 - 19:56) писал:
и в файле Товары найти код
Получилось, вот что. А покороче, кусочек кода фильтров, нельзя отдельно заменить?
Ведь приходится менять весь код Товары, а у многих уже есть нужные изменения в нем.
Сейчас, попробую заменить только фильтры...
P. S. Да, нет. Тоже самое.
#31
Отправлено 22 Ноябрь 2013 - 03:24
<!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <style> .contentTbodySearchPriceFilterBlock {width: 200px;} .goodsFilterPriceInfo {text-align: center;} .goodsFilterPriceInfo input {width:45px;height: 25px !important;background-color: #f2f2f2;border: none;} .goodsFilterPriceRangePointers {height: 16px;width: 100%;overflow: visible;} .goodsFilterPriceRangePointers label {float: left;margin: 0 !important;} .goodsFilterPriceRangePointers .min {float: left; margin-left: 5px; } .goodsFilterPriceRangePointers .max {float: left; margin-left: 5px;} #goods-filter-price-slider {margin: 10px 5px;} .ui-slider .ui-slider-range {background: #da3b44;} .goodsFilterPriceSubmit {padding: 0.5em 0 0.4em;display:none;text-align: center;} </style> <div class="block"> <div class="blockmain"> <ul class="filter"> <div class="contentTbodySearchPriceFilterBlock cornerAll txtalgncnt"> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><label>Цена:</label><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="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="exclusive" type="submit" value="Показать" /> </div> </div> </ul> </div> </div> <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 + 30) + 'px'); priceInputMax.css('width', (priceInputMax.val().length*7 + 30) + '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> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам -->
данный код вы можете вставить сразу после строк
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get">
#32
Отправлено 22 Ноябрь 2013 - 08:59
Сake (22 Ноябрь 2013 - 03:24) писал:
<!-- Если есть возможность фильтрации товаров по ценам --> {% IF SHOW_GOODS_PRICE_FILTERS %} <style> .contentTbodySearchPriceFilterBlock {width: 200px;} .goodsFilterPriceInfo {text-align: center;} .goodsFilterPriceInfo input {width:45px;height: 25px !important;background-color: #f2f2f2;border: none;} .goodsFilterPriceRangePointers {height: 16px;width: 100%;overflow: visible;} .goodsFilterPriceRangePointers label {float: left;margin: 0 !important;} .goodsFilterPriceRangePointers .min {float: left; margin-left: 5px; } .goodsFilterPriceRangePointers .max {float: left; margin-left: 5px;} #goods-filter-price-slider {margin: 10px 5px;} .ui-slider .ui-slider-range {background: #da3b44;} .goodsFilterPriceSubmit {padding: 0.5em 0 0.4em;display:none;text-align: center;} </style> <div class="block"> <div class="blockmain"> <ul class="filter"> <div class="contentTbodySearchPriceFilterBlock cornerAll txtalgncnt"> <!-- Фильтры по цене --> <div class="goodsFilterPriceRangePointers"><label>Цена:</label><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="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="exclusive" type="submit" value="Показать" /> </div> </div> </ul> </div> </div> <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 + 30) + 'px'); priceInputMax.css('width', (priceInputMax.val().length*7 + 30) + '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> {% ENDIF %} <!-- END Если есть возможность фильтрации товаров по ценам -->
данный код вы можете вставить сразу после строк
<!-- Если в тарифном плане подключен модуль фильтров по товарам, и они есть для указанного списка товаров --> {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %} <div class="filters"> <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь --> <form action="" method="get">
ээээээ..... А почему у меня странный диапазон по умолчанию какой то показывается - от от 690 до 1110 . Как его по умолчанию изменить от 0 до , например, 2000 ?
#33
Отправлено 22 Ноябрь 2013 - 12:44
Сake (22 Ноябрь 2013 - 03:24) писал:
Только, выравнивание в одну линию фильтров и сортировки, теперь не работает. Может быть, возможно выровнять, чтобы и фильтр по ценам, и фильтры по характеристикам и свойствам, и сортировка были в одну линию. Места же хватает.
А, выравнивала по вашей инструкции: http://forum.storela...ию/#entry105004
#34
Отправлено 22 Ноябрь 2013 - 12:52
velena168 (22 Ноябрь 2013 - 12:44) писал:
Только, выравнивание в одну линию фильтров и сортировки, теперь не работает. Может быть, возможно выровнять, чтобы и фильтр по ценам, и фильтры по характеристикам и свойствам, и сортировка были в одну линию. Места же хватает.
А, выравнивала по вашей инструкции: http://forum.storela...ию/#entry105004
<div class="block"> <div class="blockmain">на
<div class="block filter"> <div class="blockmain">
#36
Отправлено 22 Ноябрь 2013 - 23:24
Например, в игровых костюмах в товаре диапазон 1200 - 1950, а в фильтре 720 - 1118. Помогите разобраться.
#37
Отправлено 23 Ноябрь 2013 - 00:32
Джейн (22 Ноябрь 2013 - 23:24) писал:
Например, в игровых костюмах в товаре диапазон 1200 - 1950, а в фильтре 720 - 1118. Помогите разобраться.
Что-то у меня и мой, и ваш сайт отображается некорректно. В Хроме и Опере нормально. Не ожидала такого от
Firefox, обычно у меня Опера и ИЕ глючит.
И еще, левый каталог весь открыт, все подкатегории. Возващалась назад, восстанавливала Бэкап, все нормально.
Хоть бы, уж скорей ничего не менять, а то улучшаешь одно, другое ломается.
А в Хроме, так красиво фильтры стоят.
#38
Отправлено 23 Ноябрь 2013 - 00:43
velena168 (23 Ноябрь 2013 - 00:32) писал:
Что-то у меня и мой, и ваш сайт отображается некорректно. В Хроме и Опере нормально. Не ожидала такого от
Firefox, обычно у меня Опера и ИЕ глючит.
И еще, левый каталог весь открыт, все подкатегории. Возващалась назад, восстанавливала Бэкап, все нормально.
Хоть бы, уж скорей ничего не менять, а то улучшаешь одно, другое ломается.
А в Хроме, так красиво фильтры стоят.
Ууууу....... у меня в Мозилле вааще ниче не работает Пошла тему открывать
#39
Отправлено 23 Ноябрь 2013 - 01:20
#40
Отправлено 23 Ноябрь 2013 - 01:31
Сake (23 Ноябрь 2013 - 01:20) писал:
Темы с аналогичным тегами обновления, фильтры, uptime
Вопросы работы сервиса StoreLand →
Дизайн →
Шаблон Техно →
Обновления Для ШаблонаАвтор Гость_Mr.Nito_* , 22 марта 2019 техно, обновления |
|
|||
Вопросы работы сервиса StoreLand →
Новости платформы StoreLand →
Дайджест Обновлений Storeland №2 С 21 Ноября По 27 ДекабряАвтор Гость_support_* , 27 дек. 2016 обновления, новости и 4 еще... |
|
|||
Вопросы работы сервиса StoreLand →
Новости платформы StoreLand →
Дайджест Обновлений Storeland С 1 Января По 6 ФевраляАвтор Гость_support 2.0_* , 06 февр. 2017 обновления, новости |
|
|||
Вопросы работы сервиса StoreLand →
Новости платформы StoreLand →
25+ Нововведений МесяцаАвтор Гость_support_* , 12 сент. 2016 обновления, заказы, нововведения и 7 еще... |
|
|||
Вопросы работы сервиса StoreLand →
Новости платформы StoreLand →
История ЗаказовАвтор Гость_support 2.0_* , 31 авг. 2016 заказы, обновления, нововведения и 2 еще... |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных