Перейти к содержимому


Сортировка Товаров


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 vanyushka

vanyushka

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 500 сообщений

Отправлено 30 Октябрь 2014 - 19:37

Здравствуйте.
На каждой странице категории товаров есть встроенный выбор критериев сортировки. Можно ли заместо всего этого множества выборов сделать сортировку по цифрам (по цене). То есть, заместо названия "Рейтингу: хорошие-плохие" вылетало бы "от 1000 до 3000 руб.", "от 3000 до 5000 руб." и тд?

Я знаю есть сортировка с помощью ползунка, я его пробовал ставить под левое основное меню и он получался коротким и неудобным. Может быть можно поставить на место сортировки о которой я говорил выше один длинный ползунок? Если можно, то это конечно в приоритете. Спасибо.

#2 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 31 Октябрь 2014 - 03:30

Пожалуйста, сообщите номер аккаунта на котором вы хотите сделать изменение? Сообщите название категории для примера.

#3 vanyushka

vanyushka

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 500 сообщений

Отправлено 31 Октябрь 2014 - 14:24

230350 подарочные книги
если это можно сделать в одной категории, то так даже лучше

#4 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 06 Ноябрь 2014 - 03:50

В шаблоне Товары найдите:
<!-- Поле выбора сортировки -->
		 {% 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 %}
замените на:
{% IF CATEGORY_NAME=Подарочные книги%}
{% IF TARIFF_FEATURE_GOODS_FILTERS %}
<form action="" method="get">
<style>
		 .contentTbodySearchPriceFilterBlock {padding: 0 1em 0 1.4em;text-align:center;}
		 .goodsFilterPriceInfo {padding:1em 0 0.5em;margin-left:-5px;}
		 .goodsFilterPriceInfo input {width:45px;}
		 .goodsFilterPriceRangePointers {height: 16px;font-size: 0.9em;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>
<!-- Если есть возможность фильтрации товаров по ценам -->
{% IF SHOW_GOODS_PRICE_FILTERS %}
		 <br /><h4 class="contentTbodyCatalogHeader noBorder">Цена</h4>
		 <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>
		 <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" )
				 ;
			
				 // Слайдер, который используется для удобства выбора цены
				 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();
						 }
				 });
			
				 // При изменении минимального значения цены
				 priceInputMin.keyup(function(){
						 var newVal = parseInt($(this).val());
						 if(newVal < priceFilterMinAvailable) {
						 newVal = priceFilterMinAvailable;
						 }
						 priceSliderBlock.slider("values", 0, newVal);
						 priceSubmitButtonBlock.show();
				 });
			
				 // При изменении максимального значения цены
				 priceInputMax.keyup(function(){
						 var newVal = parseInt($(this).val());
						 if(newVal > priceFilterMaxAvailable) {
						 newVal = priceFilterMaxAvailable;
						 }
						 priceSliderBlock.slider("values", 1, newVal);
						 priceSubmitButtonBlock.show();
				 });
			
				 });
		 </script>
	
		 <div class="goodsFilterPriceSubmit">
				 <input type="submit" value="Показать" />
		 </div>
		 </div>
{% ENDIF %}
<!-- END Если есть возможность фильтрации товаров по ценам -->
</form>
{% ENDIF %}
<!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
{% ELSE %}
<!-- Поле выбора сортировки -->
		 {% 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 %}
{% ENDIF %}

Как результат, в категории Подарочные книги вместо сортировки появится фильтр по цене.

#5 vanyushka

vanyushka

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 500 сообщений

Отправлено 06 Ноябрь 2014 - 20:27

Спасибо большое очень удобно!

#6 Irina BU

Irina BU

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 70 сообщений
  • ГородМосква

Отправлено 05 Октябрь 2016 - 16:47

Добрый день. Пожалуйста, подскажите как убрать весь список пунктов в сортировке, оставить только сортировку по цене "дорогие-дешевые" и "дешевые -дорогие"
Аккаунт SL-321326

#7 Mr.Nito

Mr.Nito

    Активный участник

  • Модераторы
  • 1 364 сообщений

Отправлено 05 Октябрь 2016 - 16:59

Просмотр сообщенияIrina BU (05 Октябрь 2016 - 16:47) писал:

Добрый день. Пожалуйста, подскажите как убрать весь список пунктов в сортировке, оставить только сортировку по цене "дорогие-дешевые" и "дешевые -дорогие"
Аккаунт SL-321326

Здравствуйте.
Вам нужно в шаблоне Товары найти код(встречается 2 раза, строки 77 и 413 ) :
<label>Сортировать по:</label>
		 <select name="goods_search_field_id"class="sort-by" title="" 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>

и заменить его на:

<label>Сортировать по:</label>
			<select name="goods_search_field_id" class="sort-by" title="" onchange="this.form.submit();">
			 {% FOR goods_order_fields %}
				{%IF goods_order_fields.ID=1 || goods_order_fields.ID=2%}<option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option>{%ENDIF%}
			 {% ENDFOR %}
			</select>


#8 Irina BU

Irina BU

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 70 сообщений
  • ГородМосква

Отправлено 05 Октябрь 2016 - 17:08

Просмотр сообщенияMr.Nito (05 Октябрь 2016 - 16:59) писал:

Здравствуйте.
Вам нужно в шаблоне Товары найти код(встречается 2 раза, строки 77 и 413 ) :
<label>Сортировать по:</label>
		 <select name="goods_search_field_id"class="sort-by" title="" 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>

и заменить его на:

<label>Сортировать по:</label>
			<select name="goods_search_field_id" class="sort-by" title="" onchange="this.form.submit();">
			 {% FOR goods_order_fields %}
				{%IF goods_order_fields.ID=1 || goods_order_fields.ID=2%}<option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option>{%ENDIF%}
			 {% ENDFOR %}
			</select>
Спасибо!!!! Все здорово получилось!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных