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


Модификации Товара, Отображение


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

#41 Ирина345

Ирина345

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

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

Отправлено 10 Сентябрь 2014 - 19:39

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

Помогите плиз(
Здравствуйте, уточните конкретно, что у Вас не получается.

#42 Свят

Свят

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

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

Отправлено 10 Сентябрь 2014 - 20:44

Просмотр сообщенияИрина345 (10 Сентябрь 2014 - 19:39) писал:

Здравствуйте, уточните конкретно, что у Вас не получается.
Меняю коды вот что получается(((Прихоидся возвращать а то фигня полная(((Именно такие коды не нахожу((Походу меняю не то(
Меню все по сьезжало...отскринил только что видно...остальное ниже((

Прикрепленные изображения

  • 333.png


#43 Vaccina

Vaccina

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

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

Отправлено 11 Сентябрь 2014 - 04:00

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

#44 Свят

Свят

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

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

Отправлено 11 Сентябрь 2014 - 22:22

Просмотр сообщенияVaccina (11 Сентябрь 2014 - 04:00) писал:

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

#45 Свят

Свят

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

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

Отправлено 26 Сентябрь 2014 - 20:08

Просмотр сообщенияVaccina (11 Сентябрь 2014 - 04:00) писал:

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

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

Хорошо. Я понял.
Внес изменения. Все сьехало. Посмотрите?

http://medmag24.ru/g...Iya-r-40-60-tik

Меню все внизу....модификации не в столбик....и при их смене цена не меняется...помогите плиз...

#46 Свят

Свят

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

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

Отправлено 27 Сентябрь 2014 - 17:52

Походу не то я время выбрал.....ладно верну все обратно...а то сайт не читабелен. когда тут бываете чтобы я сделал и вы увидели в чем косяк?

#47 Alekseys

Alekseys

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

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

Отправлено 27 Сентябрь 2014 - 19:09

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

Походу не то я время выбрал.....ладно верну все обратно...а то сайт не читабелен. когда тут бываете чтобы я сделал и вы увидели в чем косяк?
Здравствуйте. Уточните пожалуйста, какие вы делали изменения, приведшие к данной проблеме.

#48 Свят

Свят

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

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

Отправлено 28 Сентябрь 2014 - 21:37

Просмотр сообщенияAlekseys (27 Сентябрь 2014 - 19:09) писал:

Здравствуйте. Уточните пожалуйста, какие вы делали изменения, приведшие к данной проблеме.
здравствйте. выполнял данную инструкцию:

Просмотр сообщенияVaccina (15 Июнь 2011 - 15:13) писал:

Хм. для изменения модификации нужно сделать следующее В шаблоне "Товар" найти и заменить следующий блок
 {% IF goods_modifications_properties.values.first %} [b]{goods_modifications_properties.NAME}:[/b]
 {% ENDIF %}{goods_modifications_properties.values.NAME}{% IF goods_modifications_properties.values.last %}  {% ENDIF %} 
заменить на
 {% IF goods_modifications_properties.values.first %} [b]{goods_modifications_properties.NAME}:[/b]
{% ENDIF %}  {goods_modifications_properties.values.NAME}
далее нужно изменить JS. Для этого в файле main.js нужно найти следующую функцию
 // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i){ properties[i] = parseInt($(this).val()); }); return properties.sort(function(a,B){return a - b}).join('_'); } 
заменить на
 // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); var reset_arr = new Array(); $(obj).each(function(i){ if($(this).is(':checked')){ properties[i] = parseInt($(this).val());} }); for(var i in properties) { if(properties[i]) { reset_arr.push(properties[i]); } } return reset_arr.sort(function(a,B){return a - b}).join('_'); } 
таких именно кодов нет. менял похожие и все слетело. скажите что именно менять для шаблона радость. спасибо.

#49 batta

batta

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

  • Пользователи
  • PipPipPipPip
  • 1 142 сообщений
  • ГородНижний Новгород

Отправлено 29 Сентябрь 2014 - 07:14

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

здравствйте. выполнял данную инструкцию:

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

#50 Свят

Свят

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

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

Отправлено 29 Сентябрь 2014 - 17:14

Просмотр сообщенияbatta (29 Сентябрь 2014 - 07:14) писал:

Здравствуйте.
Уточните, пожалуйста, что Вы хотите сделать?
Хочу, чтобы выбор модификации товара был списком и появлялся сразу.
С возможностью выбора:

Прикрепленные изображения

  • 21.png


#51 Свят

Свят

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

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

Отправлено 01 Октябрь 2014 - 18:16

мою идею в радости можно реализовать???

#52 Ирина345

Ирина345

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

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

Отправлено 01 Октябрь 2014 - 18:27

Просмотр сообщенияСвят (01 Октябрь 2014 - 18:16) писал:

мою идею в радости можно реализовать???

Просмотр сообщенияСвят (01 Октябрь 2014 - 18:16) писал:

мою идею в радости можно реализовать???
Здравствуйте, вы хотите что у Вас отображалось в виде списка или в виде радиобатонов.
На данный момент у вас выпадающий список.

#53 Свят

Свят

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

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

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

Просмотр сообщенияИрина345 (01 Октябрь 2014 - 18:27) писал:

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

http://forum.storela...ации/#entry4198
мне бы подошло такое. Вот только по тем кодам все слетает(((

#54 Свят

Свят

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

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

Отправлено 04 Октябрь 2014 - 21:09

Здравствуйте. Мой вопрос еще актуален.

#55 Vaccina

Vaccina

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

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

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

В шаблоне Товар найдите:
{% IF goods_modifications_properties.values.first %}
					  <div class="title fnt11 b">{goods_modifications_properties.NAME}:</div>
					  <div class="select">
						<select name="form[properties][]">
					{% ENDIF %}
						  <option value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}selected="selected"{% ENDIF %}>{goods_modifications_properties.values.NAME}</option>
					<!-- Если это последний элемент в списке -->
					{% IF goods_modifications_properties.values.last %}
					  </select>
					{% ENDIF %}
					</div>
замените на:
<!-- Если это первый элемент в списке -->
																																  {% IF goods_modifications_properties.values.first %}
																																				<strong>{goods_modifications_properties.NAME}:</strong><br />
																																  {% ENDIF %}
																																								 
																												  <input type="radio" name="form[properties][]" value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} />   {goods_modifications_properties.values.NAME} <br />

далее в main.js найдите:
// Функция собирает свойства в строку, для определения модификации товара
	function getSlugFromGoodsDataFormModificationsProperties(obj) {
		var properties = new Array();
		$(obj).each(function(i) {
			properties[i] = parseInt($(this).val());
		});
		return properties.sort(function(aaa, bbb) {
			return aaa - bbb
		}).join('_');
	}

	var
			// Запоминаем поля выбора свойств, для ускорения работы со значениями свойств
			goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'),
			// Запоминаем блоки с информацией по модификациям, для ускорения работы
			goodsDataModifications = $('div.ModificationsList');
	// Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
	function updateVisibility(y) {
		// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
		goodsDataProperties.each(function(j) {
			// Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
			if (j != y) {
				// Проходим по всем значениям текущего свойства модификации товара
				$(this).find('option').each(function() {
					// Записываем временный массив свойств, которые будем использовать для проверки существования модификации
					var checkProperties = new Array();
					$(goodsDataProperties).each(function(i) {
						checkProperties[i] = parseInt($(this).val());
					});
					// Пытаемся найти модификацию соответствующую выбранным значениям свойств
					checkProperties[j] = parseInt($(this).attr('value'));
					// Собираем хэш определяющий модификацию по свойствам
					slug = checkProperties.sort(function(a, B) {
						return a - b
					}).join('_');
					// Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
					if (!goodsDataModifications.filter('[rel="' + slug + '"]').length) {
						$(this).attr('disabled', true);
						// Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
					} else {
						$(this).attr('disabled', false);
					}
				});
			}
		});
	}
	// Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
	// Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
	updateVisibility(0);
	// Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
	updateVisibility(1);
	// Изменение цены товара при изменении у товара свойства для модификации
	goodsDataProperties.each(function(y) {
		$(this).change(function() {

замените на:
// Функция собирает свойства в строку, для определения модификации товара
  function getSlugFromGoodsDataFormModificationsProperties(obj) {
				var properties = new Array();
				var reset_arr = new Array();
				$(obj).each(function(i){
				  if($(this).is(':checked')){
								properties[i] = parseInt($(this).val());}
				});
				for(var i in properties) {
				 if(properties[i]) {
				  reset_arr.push(properties[i]);
				 }
				}
				return reset_arr.sort(function(a,j){return a - j}).join('_');
  }

 
  var
		// Запоминаем поля выбора свойств, для ускорения работы со значениями свойств
		goodsDataProperties = $('form.goodsDataForm [name="form[properties][]"]'),
  
		// Запоминаем блоки с информацией по модификациям, для ускорения работы
		goodsDataModifications = $('div.goodsDataMainModificationsList');


  // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
  function updateVisibility (y) {
		// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
		goodsDataProperties.each(function(j){
		  // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
		  if( j != y ) {
				// Проходим по всем значениям текущего свойства модификации товара
				  // Записываем временный массив свойств, которые будем использовать для проверки существования модификации
				  var checkProperties = new Array();
				  $(goodsDataProperties).each(function(i){
						checkProperties[i] = parseInt($(this).val());
				  });
				  // Пытаемся найти модификацию соответствующую выбранным значениям свойств
				  checkProperties[j] = parseInt($(this).attr('value'));
				  // Собираем хэш определяющий модификацию по свойствам
				  slug = checkProperties.sort(function(a,j){return a - j}).join('_');
				  // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
				  if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
				   //$(this).attr('disabled', true);
				  // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
				  } else {
						$(this).attr('disabled', false);
				  }
		  }
		});
  }
  // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
  // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
  updateVisibility (0);
  // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
  updateVisibility (1);

  //var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]');

  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(){
		$(this).click(function(){


#56 Свят

Свят

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

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

Отправлено 05 Октябрь 2014 - 12:51

Просмотр сообщенияVaccina (04 Октябрь 2014 - 23:14) писал:

В шаблоне Товар найдите:
 {% IF goods_modifications_properties.values.first %}
{goods_modifications_properties.NAME}:
{% ENDIF %}{goods_modifications_properties.values.NAME}{% IF goods_modifications_properties.values.last %} {% ENDIF %}
замените на:
 {% IF goods_modifications_properties.values.first %} [b]{goods_modifications_properties.NAME}:[/b]
{% ENDIF %} {goods_modifications_properties.values.NAME}
далее в main.js найдите:
 // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); $(obj).each(function(i) { properties[i] = parseInt($(this).val()); }); return properties.sort(function(aaa, bbb) { return aaa - bbb }).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.ModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility(y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j) { // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if (j != y) { // Проходим по всем значениям текущего свойства модификации товара $(this).find('option').each(function() { // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i) { checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a, B) { return a - b }).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if (!goodsDataModifications.filter('[rel="' + slug + '"]').length) { $(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } }); } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility(0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility(1); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(y) { $(this).change(function() { 
замените на:
 // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); var reset_arr = new Array(); $(obj).each(function(i){ if($(this).is(':checked')){ properties[i] = parseInt($(this).val());} }); for(var i in properties) { if(properties[i]) { reset_arr.push(properties[i]); } } return reset_arr.sort(function(a,j){return a - j}).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm [name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility (y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j){ // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if( j != y ) { // Проходим по всем значениям текущего свойства модификации товара // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i){ checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a,j){return a - j}).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { //$(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility (0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility (1); //var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]'); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(){ $(this).click(function(){ 
Здравствуйте. Изменил как сказали. При выборе модификации появляется такое вот окно. и ошибка(((.....

Прикрепленные изображения

  • 333.png


#57 Свят

Свят

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

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

Отправлено 06 Октябрь 2014 - 17:18

Не подскажите как исправить?

#58 Vaccina

Vaccina

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

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

Отправлено 10 Октябрь 2014 - 04:46

после изменений выше находим в main.js:
// Запоминаем блоки с информацией по модификациям, для ускорения работы
				goodsDataModifications = $('div.goodsDataMainModificationsList');
заменяем на:
// Запоминаем блоки с информацией по модификациям, для ускорения работы
				goodsDataModifications = $('.ModificationsList');

далее находим:
// Отправим запись об ошибке на сервер
				sendError('no modification by slug ' + slug);
				alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
			}
			// Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара.
			updateVisibility(y);
меняем на:
// Отправим запись об ошибке на сервер
				sendError('no modification by slug ' + slug);
				alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
			}
// Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
  updateVisibility (0);
  // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
  updateVisibility (1);


#59 Свят

Свят

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

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

Отправлено 10 Октябрь 2014 - 15:18

Просмотр сообщенияVaccina (10 Октябрь 2014 - 04:46) писал:

после изменений выше находим в main.js:
// Запоминаем блоки с информацией по модификациям, для ускорения работы
			 goodsDataModifications = $('div.goodsDataMainModificationsList');
заменяем на:
// Запоминаем блоки с информацией по модификациям, для ускорения работы
			 goodsDataModifications = $('.ModificationsList');

далее находим:
// Отправим запись об ошибке на сервер
			 sendError('no modification by slug ' + slug);
			 alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
		 }
		 // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара.
		 updateVisibility(y);
меняем на:
// Отправим запись об ошибке на сервер
			 sendError('no modification by slug ' + slug);
			 alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
		 }
// Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
updateVisibility (0);
// Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
updateVisibility (1);
Спасибо огромное))))))

#60 Новичок Ю

Новичок Ю

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

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

Отправлено 11 Август 2015 - 19:56

Здравствуйте! Не могу найти, где по горизонтали перемещаются описания (у меня фото - нужно только левое двигать) и окна с названием модификаций. Помогите, пожалуйста. Screenshot_3.jpg




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

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