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


Новый Тип Фильтра По Товарам


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

#1 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 15 Январь 2014 - 07:45

Здравствуйте. Хотелось бы обсудить возможность применения у нас (или у меня в частности) другого фильтра, т.к. существующий не совсем удобен.
Например, тем, что нельзя выбрать несколько позиций сразу и диапазон желаемого отображения.

Вот есть пример на одном сайте:


Из рисунков видно обычное состояние и если что-нибудь повыбирать.

Так вот. Здесь можно именно несколько товаров посмотреть. К примеру, 2 лампы, у которых мощности 3 и 5Вт или четыре лампы. В зависимости от того, какой диапазон я выберу.

А у нас как? Только чисто один вариант и все можно посмотреть. А там можно сколько угодно в определенном диапазоне, можно хоть совместить ползунки и выбрать один показатель, как у нас.

Но тут такой вопрос встает. Все должно быть только числами выражено. 8, 10, 255 там, к примеру. И все остальное должно быть в заголовке. Это была бы не проблема, но есть такие вещи, как, к примеру "Производитель". Его не задашь ни в какой диапазон. Но и для таких вещей на том сайте все предусмотрено. На первом рисунке там внизу видно параметр "Capbase - E27", который можно менять, что видно на втором рисунке.

Вот как бы такое все задействовать? Это же гораздо удобнее. Как сделать, чтобы работали обе функции. И диапазон и выбор конкретных параметров фильтра, типа "Производитель"?

Добавлю интересный момент.. Некоторые характеристики лежат в опредленных пределах. К примеру, лампа может работать в диапазоне Вольт: 100-240. И хорошо было бы, если бы этот диапазон и подобные тоже попадали в главный диапазон, если это возможно.

Есть еще вариант. Он встречается на других сайтах. Там можно галочками или крестиками выбрать несколько вариантов. А не один как у нас... Возможно это было бы проще реализовать...

Сообщение отредактировал Andrew S.: 15 Январь 2014 - 18:12


#2 support 2.0

support 2.0

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

  • Модераторы
  • 4 950 сообщений

Отправлено 15 Январь 2014 - 20:23

Просмотр сообщенияAndrew S. (15 Январь 2014 - 07:45) писал:

Здравствуйте. Хотелось бы обсудить возможность применения у нас (или у меня в частности) другого фильтра, т.к. существующий не совсем удобен.
Например, тем, что нельзя выбрать несколько позиций сразу и диапазон желаемого отображения.

Вот есть пример на одном сайте:
Прикрепленный файл Фильтр 1.pngПрикрепленный файл Фильтр 2.pngПрикрепленный файл Фильтр 3.png

Из рисунков видно обычное состояние и если что-нибудь повыбирать.

Так вот. Здесь можно именно несколько товаров посмотреть. К примеру, 2 лампы, у которых мощности 3 и 5Вт или четыре лампы. В зависимости от того, какой диапазон я выберу.

А у нас как? Только чисто один вариант и все можно посмотреть. А там можно сколько угодно в определенном диапазоне, можно хоть совместить ползунки и выбрать один показатель, как у нас.

Но тут такой вопрос встает. Все должно быть только числами выражено. 8, 10, 255 там, к примеру. И все остальное должно быть в заголовке. Это была бы не проблема, но есть такие вещи, как, к примеру "Производитель". Его не задашь ни в какой диапазон. Но и для таких вещей на том сайте все предусмотрено. На первом рисунке там внизу видно параметр "Capbase - E27", который можно менять, что видно на втором рисунке.

Вот как бы такое все задействовать? Это же гораздо удобнее. Как сделать, чтобы работали обе функции. И диапазон и выбор конкретных параметров фильтра, типа "Производитель"?

Добавлю интересный момент.. Некоторые характеристики лежат в опредленных пределах. К примеру, лампа может работать в диапазоне Вольт: 100-240. И хорошо было бы, если бы этот диапазон и подобные тоже попадали в главный диапазон, если это возможно.

Есть еще вариант. Он встречается на других сайтах. Там можно галочками или крестиками выбрать несколько вариантов. А не один как у нас... Возможно это было бы проще реализовать...

Здравствуйте, подобный скролл у нас есть только для цен товаров. Для остального: модификаций или характеристик не реализован и сделать самостоятельно не получится.

#3 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 16 Январь 2014 - 09:56

Просмотр сообщенияsupport 2.0 (15 Январь 2014 - 20:23) писал:

Здравствуйте, подобный скролл у нас есть только для цен товаров. Для остального: модификаций или характеристик не реализован и сделать самостоятельно не получится.
Ну а хотя бы что за скролл для цен товаров?

#4 Сake

Сake

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

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

Отправлено 17 Январь 2014 - 03:19

Это так называемый фильтр товаров по цене. Данный фильтр доступен в каталоге с учетом того что цены на товар в категории отличаются друг от друга, а так же у вас обновленная версия шаблона и код фильтра по ценам у вас присутствует. В шаблоне "Товары" должен присутствовать код

<!-- Если есть возможность фильтрации товаров по ценам -->
					{% IF SHOW_GOODS_PRICE_FILTERS %}
					  <div class="filter">
						<div>
						  <div class="goodsFilterPriceInfo">
							<label>Цена:</label>
							от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
							до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						  </div>
						  <div class="contentTbodySearchPriceFilterBlock">
							<div id="goods-filter-price-slider"></div>
							<!-- Фильтры по цене -->
							<div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
							<div class="goodsFilterPriceSubmit">
							  <button class="btn btn-success" type="submit">Показать</button>
							</div>
						  </div>
						</div>
					  </div>
					{% ENDIF %}
					<!-- END Если есть возможность фильтрации товаров по ценам -->

Полный код шаблона "Товары" следующий

Скрытый текст


#5 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 17 Январь 2014 - 13:04

Просмотр сообщенияСake (17 Январь 2014 - 03:19) писал:

Это так называемый фильтр товаров по цене. Данный фильтр доступен в каталоге с учетом того что цены на товар в категории отличаются друг от друга, а так же у вас обновленная версия шаблона и код фильтра по ценам у вас присутствует. В шаблоне "Товары" должен присутствовать код

<!-- Если есть возможность фильтрации товаров по ценам -->
				 {% IF SHOW_GOODS_PRICE_FILTERS %}
					 <div class="filter">
					 <div>
						 <div class="goodsFilterPriceInfo">
						 <label>Цена:</label>
						 от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						 до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						 </div>
						 <div class="contentTbodySearchPriceFilterBlock">
						 <div id="goods-filter-price-slider"></div>
						 <!-- Фильтры по цене -->
						 <div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
						 <div class="goodsFilterPriceSubmit">
							 <button class="btn btn-success" type="submit">Показать</button>
						 </div>
						 </div>
					 </div>
					 </div>
				 {% ENDIF %}
				 <!-- END Если есть возможность фильтрации товаров по ценам -->

Полный код шаблона "Товары" следующий

Скрытый текст
У меня тут тогда два вопроса. Вещь хорошая:

1) Если у меня нет этого кода, как его вшить ко мне? С учетом того, что я уже много чего менял в этом коде и не помню что и как.

2) Если у меня, к примеру, 10 товаров и у трех одинаковая цена, он будет работать? Что значит то, что цены в категории должны отличаться?

Мой код вы же можете смотреть?

#6 Сake

Сake

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

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

Отправлено 18 Январь 2014 - 03:17

1. Найдите в вашем шаблоне "Товары" следующий код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			  {% 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('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
							<option> - все - </option>
							{% FOR values %}
							  <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
							{% ENDFOR %}
						  </select>
						</div>
					  {% ENDFOR %}
					  <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					  {% FOR filter_prop_list %}
						<div class="filter">
						  {filter_prop_list.NAME}:<br />
						  <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
							<option> - все - </option>
							{% FOR values %}
							  <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
							{% ENDFOR %}
						  </select>
						</div>
					  {% ENDFOR %}
					  <div class="clear"></div>
					</form>
				  </div>
				{% ENDIF %}
			  {% ENDIF %}
			  <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

и замените его на код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
				<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
				<div class="filters">
				  <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
				  <form action="" method="get">
					<!-- Если есть возможность фильтрации товаров по ценам -->
					{% IF SHOW_GOODS_PRICE_FILTERS %}
					  <div class="filter">
						<div>
						  <div class="goodsFilterPriceInfo">
							<label>Цена:</label>
							от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
							до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						  </div>
						  <div class="contentTbodySearchPriceFilterBlock">
							<div id="goods-filter-price-slider"></div>
							<!-- Фильтры по цене -->
							<div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
							<div class="goodsFilterPriceSubmit">
							  <button class="btn btn-success" type="submit">Показать</button>
							</div>
						  </div>
						</div>
					  </div>
					{% ENDIF %}
					<!-- END Если есть возможность фильтрации товаров по ценам -->
					 
					{% IF SHOW_GOODS_FILTERS %}
					  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
					  {% FOR filter_attr_list %}
						<div class="filter">
						  <div>
							{filter_attr_list.NAME}:<br />
							<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
							  <option> - все - </option>
							  {% FOR values %}
								<option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
							  {% ENDFOR %}
							</select>
						  </div>
						</div>
					  {% ENDFOR %}
					  <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					  {% FOR filter_prop_list %}
						<div class="filter">
						  <div>
							{filter_prop_list.NAME}:<br />
							<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
							  <option> - все - </option>
							  {% FOR values %}
								<option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
							  {% ENDFOR %}
							</select>
						  </div>
						</div>
					  {% ENDFOR %}
					 
					{% ENDIF %}
					<div class="clear"></div>
				  </form>
				</div>
			  {% ENDIF %}
			  <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

После в файле main.js найдите код

$("#deliveryConvenientDate").datepicker({
  dayNames	  : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
  dayNamesMin	: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
  closeText	  : 'Готово',
  currentText	: 'Сегодня' ,
  duration	  : '',
  monthNames	: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
  monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
  yearRange	  : "-6:+6",
  dateFormat	: 'dd.mm.yy',
  minDate		 : new Date(),
  firstDay	  : 1
});

и замените его на код

$("#deliveryConvenientDate").datepicker({
  dayNames	  : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
  dayNamesMin	: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
  closeText	  : 'Готово',
  currentText	: 'Сегодня' ,
  duration	  : '',
  monthNames	: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
  monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
  yearRange	  : "-6:+6",
  dateFormat	: 'dd.mm.yy',
  minDate		 : new Date(),
  firstDay	  : 1
});
  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() {
	// Если есть блок указания минимальной цены
	if(priceInputMin.length) {
	  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();

2. Это означает следующее - если в категории всего 10 товаров, и у всех 10ти товаров одинаковая цена, то фильтр по цене отображаться не будет т.к фильтровать по сути и нечего. Если присутствует любая разница в цене для товаров, то фильтр по цене отображаться будет.

#7 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 20 Январь 2014 - 21:49

Просмотр сообщенияСake (18 Январь 2014 - 03:17) писал:

1. Найдите в вашем шаблоне "Товары" следующий код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			 {% 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('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
							 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
						 {% ENDFOR %}
						 </select>
					 </div>
					 {% ENDFOR %}
					 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					 {% FOR filter_prop_list %}
					 <div class="filter">
						 {filter_prop_list.NAME}:<br />
						 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
							 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
						 {% ENDFOR %}
						 </select>
					 </div>
					 {% ENDFOR %}
					 <div class="clear"></div>
				 </form>
				 </div>
			 {% ENDIF %}
			 {% ENDIF %}
			 <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

и замените его на код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			 {% IF TARIFF_FEATURE_GOODS_FILTERS %}
			 <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
			 <div class="filters">
				 <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
				 <form action="" method="get">
				 <!-- Если есть возможность фильтрации товаров по ценам -->
				 {% IF SHOW_GOODS_PRICE_FILTERS %}
					 <div class="filter">
					 <div>
						 <div class="goodsFilterPriceInfo">
						 <label>Цена:</label>
						 от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						 до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						 </div>
						 <div class="contentTbodySearchPriceFilterBlock">
						 <div id="goods-filter-price-slider"></div>
						 <!-- Фильтры по цене -->
						 <div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
						 <div class="goodsFilterPriceSubmit">
							 <button class="btn btn-success" type="submit">Показать</button>
						 </div>
						 </div>
					 </div>
					 </div>
				 {% ENDIF %}
				 <!-- END Если есть возможность фильтрации товаров по ценам -->
					
				 {% IF SHOW_GOODS_FILTERS %}
					 <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
					 {% FOR filter_attr_list %}
					 <div class="filter">
						 <div>
						 {filter_attr_list.NAME}:<br />
						 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
							 <option> - все - </option>
							 {% FOR values %}
							 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
							 {% ENDFOR %}
						 </select>
						 </div>
					 </div>
					 {% ENDFOR %}
					 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					 {% FOR filter_prop_list %}
					 <div class="filter">
						 <div>
						 {filter_prop_list.NAME}:<br />
						 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
							 <option> - все - </option>
							 {% FOR values %}
							 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
							 {% ENDFOR %}
						 </select>
						 </div>
					 </div>
					 {% ENDFOR %}
					
				 {% ENDIF %}
				 <div class="clear"></div>
				 </form>
			 </div>
			 {% ENDIF %}
			 <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

После в файле main.js найдите код

$("#deliveryConvenientDate").datepicker({
dayNames	 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText	 : 'Готово',
currentText : 'Сегодня' ,
duration	 : '',
monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange	 : "-6:+6",
dateFormat : 'dd.mm.yy',
minDate		 : new Date(),
firstDay	 : 1
});

и замените его на код

$("#deliveryConvenientDate").datepicker({
dayNames	 : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText	 : 'Готово',
currentText : 'Сегодня' ,
duration	 : '',
monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange	 : "-6:+6",
dateFormat : 'dd.mm.yy',
minDate		 : new Date(),
firstDay	 : 1
});
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() {
// Если есть блок указания минимальной цены
if(priceInputMin.length) {
	 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();

2. Это означает следующее - если в категории всего 10 товаров, и у всех 10ти товаров одинаковая цена, то фильтр по цене отображаться не будет т.к фильтровать по сути и нечего. Если присутствует любая разница в цене для товаров, то фильтр по цене отображаться будет.
Код вставился, только помогите его еще отредактировать, а то выглядит плохо...

1. Как есть:
Сейчас.png

2. Как хочется сделать:
Cделать так.png

На рисунке все описано...

Хорошо бы отгородить такой же палочкой как сверху две штуки в этом блоке, чтобы блоки информации отделить между собой:

3.Вот так:
Отделение.png

Сообщение отредактировал Andrew S.: 20 Январь 2014 - 21:54


#8 Сake

Сake

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

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

Отправлено 21 Январь 2014 - 05:24

Найдите в шаблоне "Товары" следующий код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
						  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
								<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
								<div class="filters">
								  <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
								  <form action="" method="get">
										<!-- Если есть возможность фильтрации товаров по ценам -->
										{% IF SHOW_GOODS_PRICE_FILTERS %}
										  <div class="filter">
												<div>
												  <div class="goodsFilterPriceInfo">
														<label>Цена:</label>
														от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
														до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
												  </div>
												  <div class="contentTbodySearchPriceFilterBlock">
														<div id="goods-filter-price-slider"></div>
														<!-- Фильтры по цене -->
														<div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
														<div class="goodsFilterPriceSubmit">
														  <button class="btn btn-success" type="submit">Показать</button>
														</div>
												  </div>
												</div>
										  </div>
										{% ENDIF %}
										<!-- END Если есть возможность фильтрации товаров по ценам -->
										
										{% IF SHOW_GOODS_FILTERS %}
										  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
										  {% FOR filter_attr_list %}
												<div class="filter">
												  <div>
														{filter_attr_list.NAME}:<br />
														<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														  <option> - все - </option>
														  {% FOR values %}
																<option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
														  {% ENDFOR %}
														</select>
												  </div>
												</div>
										  {% ENDFOR %}
										  <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
										  {% FOR filter_prop_list %}
												<div class="filter">
												  <div>
														{filter_prop_list.NAME}:<br />
														<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														  <option> - все - </option>
														  {% FOR values %}
																<option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
														  {% ENDFOR %}
														</select>
												  </div>
												</div>
										  {% ENDFOR %}
										
										{% ENDIF %}
										<div class="clear"></div>
								  </form>
								</div>
						  {% ENDIF %}
						  <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

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

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
						  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
								<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
								<div class="filters">
								  <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
								  <form action="" method="get">
										{% IF SHOW_GOODS_FILTERS %}
										  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
										  {% FOR filter_attr_list %}
												<div class="filter">
												  <div>
														{filter_attr_list.NAME}:<br />
														<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														  <option> - все - </option>
														  {% FOR values %}
																<option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
														  {% ENDFOR %}
														</select>
												  </div>
												</div>
										  {% ENDFOR %}
										  <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
										  {% FOR filter_prop_list %}
												<div class="filter">
												  <div>
														{filter_prop_list.NAME}:<br />
														<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														  <option> - все - </option>
														  {% FOR values %}
																<option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
														  {% ENDFOR %}
														</select>
												  </div>
												</div>
										  {% ENDFOR %}
										
										{% ENDIF %}
		 
		  <!-- Если есть возможность фильтрации товаров по ценам -->
										{% IF SHOW_GOODS_PRICE_FILTERS %}
										  <div class="filter filter-price">
												<div>
												  <div class="goodsFilterPriceInfo">
														<label>Цена:</label>
														от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
														до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
												  </div>
												  <div class="contentTbodySearchPriceFilterBlock">
														<div id="goods-filter-price-slider"></div>
														<!-- Фильтры по цене -->
														<div class="goodsFilterPriceRangePointers"><span>Сейчас: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
														<div class="goodsFilterPriceSubmit">
														  <button class="btn btn-success" type="submit">Показать</button>
														</div>
												  </div>
												</div>
										  </div>
										{% ENDIF %}
										<!-- END Если есть возможность фильтрации товаров по ценам -->
		 
										<div class="clear"></div>
								  </form>
								</div>
						  {% ENDIF %}
						  <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

после этого в файл стилей main.css добавьте

.filter-price {
  border-top: 1px solid #EAEAEA;
  clear: both;
  display: block;
  margin: 9px 0 0;
  padding: 9px 0 !important;
  width: 100% !important;
}

.filter-price div {
  display: inline-block;
}


#9 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 21 Январь 2014 - 07:37

Просмотр сообщенияСake (21 Январь 2014 - 05:24) писал:

Найдите в шаблоне "Товары" следующий код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
						 {% IF TARIFF_FEATURE_GOODS_FILTERS %}
							 <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
							 <div class="filters">
								 <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
								 <form action="" method="get">
									 <!-- Если есть возможность фильтрации товаров по ценам -->
									 {% IF SHOW_GOODS_PRICE_FILTERS %}
										 <div class="filter">
											 <div>
												 <div class="goodsFilterPriceInfo">
													 <label>Цена:</label>
													 от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
													 до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
												 </div>
												 <div class="contentTbodySearchPriceFilterBlock">
													 <div id="goods-filter-price-slider"></div>
													 <!-- Фильтры по цене -->
													 <div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
													 <div class="goodsFilterPriceSubmit">
														 <button class="btn btn-success" type="submit">Показать</button>
													 </div>
												 </div>
											 </div>
										 </div>
									 {% ENDIF %}
									 <!-- END Если есть возможность фильтрации товаров по ценам -->
										
									 {% IF SHOW_GOODS_FILTERS %}
										 <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
										 {% FOR filter_attr_list %}
											 <div class="filter">
												 <div>
													 {filter_attr_list.NAME}:<br />
													 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														 <option> - все - </option>
														 {% FOR values %}
															 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
														 {% ENDFOR %}
													 </select>
												 </div>
											 </div>
										 {% ENDFOR %}
										 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
										 {% FOR filter_prop_list %}
											 <div class="filter">
												 <div>
													 {filter_prop_list.NAME}:<br />
													 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														 <option> - все - </option>
														 {% FOR values %}
															 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
														 {% ENDFOR %}
													 </select>
												 </div>
											 </div>
										 {% ENDFOR %}
										
									 {% ENDIF %}
									 <div class="clear"></div>
								 </form>
							 </div>
						 {% ENDIF %}
						 <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

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

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
						 {% IF TARIFF_FEATURE_GOODS_FILTERS %}
							 <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
							 <div class="filters">
								 <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
								 <form action="" method="get">
									 {% IF SHOW_GOODS_FILTERS %}
										 <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
										 {% FOR filter_attr_list %}
											 <div class="filter">
												 <div>
													 {filter_attr_list.NAME}:<br />
													 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														 <option> - все - </option>
														 {% FOR values %}
															 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
														 {% ENDFOR %}
													 </select>
												 </div>
											 </div>
										 {% ENDFOR %}
										 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
										 {% FOR filter_prop_list %}
											 <div class="filter">
												 <div>
													 {filter_prop_list.NAME}:<br />
													 <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
														 <option> - все - </option>
														 {% FOR values %}
															 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
														 {% ENDFOR %}
													 </select>
												 </div>
											 </div>
										 {% ENDFOR %}
										
									 {% ENDIF %}
		
		 <!-- Если есть возможность фильтрации товаров по ценам -->
									 {% IF SHOW_GOODS_PRICE_FILTERS %}
										 <div class="filter filter-price">
											 <div>
												 <div class="goodsFilterPriceInfo">
													 <label>Цена:</label>
													 от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
													 до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
												 </div>
												 <div class="contentTbodySearchPriceFilterBlock">
													 <div id="goods-filter-price-slider"></div>
													 <!-- Фильтры по цене -->
													 <div class="goodsFilterPriceRangePointers"><span>Сейчас: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
													 <div class="goodsFilterPriceSubmit">
														 <button class="btn btn-success" type="submit">Показать</button>
													 </div>
												 </div>
											 </div>
										 </div>
									 {% ENDIF %}
									 <!-- END Если есть возможность фильтрации товаров по ценам -->
		
									 <div class="clear"></div>
								 </form>
							 </div>
						 {% ENDIF %}
						 <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

после этого в файл стилей main.css добавьте

.filter-price {
border-top: 1px solid #EAEAEA;
clear: both;
display: block;
margin: 9px 0 0;
padding: 9px 0 !important;
width: 100% !important;
}

.filter-price div {
display: inline-block;
}

1) Уменьшить тут поля эти надо. Они, кстати, и так чересчур длинные..
Картинка 1.png

2) Появилась проблема после того как начали менять всё это:
Картинка 2.png
Мышка при скриншоте исчезает, не видно, что она наведена.
Исчезло всплывающее меню. Которое по внутренним уровням каталога водит, чтоб каждый раз не нажимать и не ждать пока все откроется. Плохо..

3) Сайт вообще перестал показывать все внутренние уровни каталога.

4) Перестали меняться эти иконки верхнего меню. Только когда если зайти на них меняются, при наведении - нет:
Картинка 3.png

5) То же самое на способах оплаты произошло:
Картинка 4.png

6) Перестали работать фотографии как раньше.

7) Не работает блок сравнения товаров.

Может быть еще что-то произошло, что сейчас не заметил.

Сообщение отредактировал Andrew S.: 21 Январь 2014 - 07:56


#10 Сake

Сake

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

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

Отправлено 22 Январь 2014 - 01:48

Добавьте в ваш файл стилей main.css

.filter-price input {
  max-width: 190px;
}

далее в шаблоне "Товары" найдите код

<div class="goodsFilterPriceRangePointers"><span>Сейчас: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>

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

<div class="goodsFilterPriceRangePointers"><span>Сейчас: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE} - </div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>

далее в файле main.js найдите

// Обновить размеры полей ввода диапазона цен
  priceInputsChangeWidthByChars();

/* Отличия от других шаблонов */

и замените на

// Обновить размеры полей ввода диапазона цен
  priceInputsChangeWidthByChars();
});
/* Отличия от других шаблонов */


#11 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 22 Январь 2014 - 08:19

Просмотр сообщенияСake (22 Январь 2014 - 01:48) писал:

Добавьте в ваш файл стилей main.css

.filter-price input {
max-width: 190px;
}

далее в шаблоне "Товары" найдите код

<div class="goodsFilterPriceRangePointers"><span>Сейчас: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>

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

<div class="goodsFilterPriceRangePointers"><span>Сейчас: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE} - </div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>

далее в файле main.js найдите

// Обновить размеры полей ввода диапазона цен
priceInputsChangeWidthByChars();

/* Отличия от других шаблонов */

и замените на

// Обновить размеры полей ввода диапазона цен
priceInputsChangeWidthByChars();
});
/* Отличия от других шаблонов */
А я уже боялся, что все потеряно... Все заработало. Но вот только опишу как все происходило и что нужно кое-что снова подправить:
1) Добавил первый код - все встало в прямую линию:
Фото 1.png
На красный прямоугольник не обращайте внимания, это я думал про тире сказать.

2) Добавил тире, всё ок.

3) Заменил этот код в main.js - все заработало, но вот только в товаре в фильтре цен все стало слишком коротким:
Фото 2.png
Как его обратно вытянуть?

#12 Сake

Сake

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

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

Отправлено 23 Январь 2014 - 01:46

Попробуйте добавить в ваш файл стилей main.css

.goodsFilterPriceInfo input {
  min-width: 190px !important;
}


#13 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 24 Январь 2014 - 20:55

Просмотр сообщенияСake (23 Январь 2014 - 01:46) писал:

Попробуйте добавить в ваш файл стилей main.css

.goodsFilterPriceInfo input {
min-width: 190px !important;
}
Да, четко встало! Спасибо!

#14 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 30 Январь 2014 - 16:24

Просмотр сообщенияСake (23 Январь 2014 - 01:46) писал:

Попробуйте добавить в ваш файл стилей main.css

.goodsFilterPriceInfo input {
min-width: 190px !important;
}
Подскажите, можно ли кнопку "Показать" прикрепить к правой части?
5.png

#15 Castiel

Castiel

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

  • Модераторы
  • 3 519 сообщений
  • ГородНижний Новгород

Отправлено 30 Январь 2014 - 17:03

Просмотр сообщенияAndrew S. (30 Январь 2014 - 16:24) писал:

Подскажите, можно ли кнопку "Показать" прикрепить к правой части?
Прикрепленный файл 5.png

Здравствуйте, добавьте в любое удобное место в main.css
.goodsFilterPriceSubmit {
margin-left: 40px;
}


#16 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 31 Январь 2014 - 03:14

Просмотр сообщенияCastiel (30 Январь 2014 - 17:03) писал:

Здравствуйте, добавьте в любое удобное место в main.css
.goodsFilterPriceSubmit {
margin-left: 40px;
}
Не пойдет, т.к. есть дорогие товары и она упрыгивает на след строку. Фиксированной можно её сделать к правой части? На строке с кнопками вида отображения списка и строка "сортировать" же как-то отображается, что что-то слева и что-то справа..

#17 miyako

miyako

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

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

Отправлено 31 Январь 2014 - 07:22

Просмотр сообщенияAndrew S. (31 Январь 2014 - 03:14) писал:

Не пойдет, т.к. есть дорогие товары и она упрыгивает на след строку. Фиксированной можно её сделать к правой части? На строке с кнопками вида отображения списка и строка "сортировать" же как-то отображается, что что-то слева и что-то справа..

Найдите код в шаблоне Товары -
				  <!-- Если есть возможность фильтрации товаров по ценам -->
																				{% IF SHOW_GOODS_PRICE_FILTERS %}
																				  <div class="filter filter-price">
																								<div>
																								  <div class="goodsFilterPriceInfo">
																												<label>Цена:</label>
																												от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																												до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																								  </div>
																								  <div class="contentTbodySearchPriceFilterBlock">
																												<div id="goods-filter-price-slider"></div>
																												<!-- Фильтры по цене -->
																												<div class="goodsFilterPriceRangePointers"><span>Общий диапазон цен: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}-</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
																												<div class="goodsFilterPriceSubmit">
																												  <button class="btn btn-success" type="submit">Показать</button>
																												</div>
																								  </div>
																								</div>
																				  </div>
																				{% ENDIF %}
																				<!-- END Если есть возможность фильтрации товаров по ценам -->
и замените на -
				  <!-- Если есть возможность фильтрации товаров по ценам -->
																				{% IF SHOW_GOODS_PRICE_FILTERS %}
																				  <div class="filter filter-price">
																								<div>
																								  <div class="goodsFilterPriceInfo">
																												<label>Цена:</label>
																												от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																												до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																								  </div>
																								  <div class="contentTbodySearchPriceFilterBlock">
																												<div id="goods-filter-price-slider"></div>
																												<!-- Фильтры по цене -->
																												<div class="goodsFilterPriceRangePointers"><span>Общий диапазон цен: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}-</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
																											   
																								  </div>
																								</div>
						<div class="goodsFilterPriceSubmit" style="float:rifht;display:block !important;">
																												  <button class="btn btn-success" type="submit">Показать</button>
																												</div>
																				  </div>
																				{% ENDIF %}
																				<!-- END Если есть возможность фильтрации товаров по ценам -->


#18 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 01 Февраль 2014 - 10:13

Просмотр сообщенияmiyako (31 Январь 2014 - 07:22) писал:

Найдите код в шаблоне Товары -
				 <!-- Если есть возможность фильтрации товаров по ценам -->
																			 {% IF SHOW_GOODS_PRICE_FILTERS %}
																				 <div class="filter filter-price">
																							 <div>
																								 <div class="goodsFilterPriceInfo">
																											 <label>Цена:</label>
																											 от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																											 до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																								 </div>
																								 <div class="contentTbodySearchPriceFilterBlock">
																											 <div id="goods-filter-price-slider"></div>
																											 <!-- Фильтры по цене -->
																											 <div class="goodsFilterPriceRangePointers"><span>Общий диапазон цен: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}-</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
																											 <div class="goodsFilterPriceSubmit">
																												 <button class="btn btn-success" type="submit">Показать</button>
																											 </div>
																								 </div>
																							 </div>
																				 </div>
																			 {% ENDIF %}
																			 <!-- END Если есть возможность фильтрации товаров по ценам -->
и замените на -
				 <!-- Если есть возможность фильтрации товаров по ценам -->
																			 {% IF SHOW_GOODS_PRICE_FILTERS %}
																				 <div class="filter filter-price">
																							 <div>
																								 <div class="goodsFilterPriceInfo">
																											 <label>Цена:</label>
																											 от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																											 до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
																								 </div>
																								 <div class="contentTbodySearchPriceFilterBlock">
																											 <div id="goods-filter-price-slider"></div>
																											 <!-- Фильтры по цене -->
																											 <div class="goodsFilterPriceRangePointers"><span>Общий диапазон цен: </span><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}-</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
																											
																								 </div>
																							 </div>
					 <div class="goodsFilterPriceSubmit" style="float:rifht;display:block !important;">
																												 <button class="btn btn-success" type="submit">Показать</button>
																											 </div>
																				 </div>
																			 {% ENDIF %}
																			 <!-- END Если есть возможность фильтрации товаров по ценам -->
Вся строка до кнопки ушла вверх. Как её обратно по центру поставить?
111.png
222.png

#19 Vaccina

Vaccina

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

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

Отправлено 04 Февраль 2014 - 04:19

В main.css найдите:
.filter-price div {
	display: inline-block;
}
после него добавьте:
.filter-price>div:first-child {
	padding-top: 5px;
}


#20 Andrew S.

Andrew S.

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

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 04 Февраль 2014 - 13:56

Просмотр сообщенияVaccina (04 Февраль 2014 - 04:19) писал:

В main.css найдите:
.filter-price div {
display: inline-block;
}
после него добавьте:
.filter-price>div:first-child {
padding-top: 5px;
}
Все уползло не понять куда!

И вообще, почему у меня такой допотопный фильтр? У всех уже новый, а я в прошлом веке..

Мой:
Number 1.png

На новых шаблонах:
Number 2.png

В технике, обновленном шаблоне, тоже новый стоит, не как у меня..

И скажите, уже не будет к нам такого внимания как раньше? Раньше все так быстро-шустро меняли, а щас все КОЛОМ стоит неделями. Вам на нас уже все равно стало?

18 января начали все тут менять в этой теме. Прошло уже несколько дней. Другая тема создана 30 января - молчание. Другая 21 января - молчание.

Как мне перейти на более дорогой тариф, если такие задержки идут?

Т.к. нет технической поддержки, предыдущее изменение я отменил.

Сообщение отредактировал Andrew S.: 05 Февраль 2014 - 15:30





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

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