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


Добавить Короткое Описание В Карточку Товара


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

#1 Pavill

Pavill

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

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

Отправлено 04 Январь 2018 - 10:11

Добрый день !
1. Помогите пожалуйста добавить короткое описание в карточку товара, после артикула.
2. Чтобы размеры и цвета отображались в виде пиктограмм с возможностью выбора (как на фото).

Большое спасибо !

SL-297726

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

  • Новая карточка товара белио 2018.jpg


#2 Stasya

Stasya

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

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

Отправлено 11 Январь 2018 - 11:03

Просмотр сообщенияPavill (04 Январь 2018 - 10:11) писал:

Добрый день !
1. Помогите пожалуйста добавить короткое описание в карточку товара, после артикула.
2. Чтобы размеры и цвета отображались в виде пиктограмм с возможностью выбора (как на фото).

Большое спасибо !

SL-297726
Здравствуйте. Простите за длительно ожидание ответа.
1) В шаблоне Товар найдите код
<span class="editable">{GOODS_MOD_ART_NUMBER}</span>
		 </div>
и сразу после него добавьте
{% IF GOODS_DESCRIPTION_SHORT %}
			 <div class="shortDesc">
			 {GOODS_DESCRIPTION_SHORT}
			 </div>
		 {% ENDIF %}
2) В шаблоне Товар найдите код
 {% FOR goods_modifications_properties %}
				<div class="attribute_fieldset goodsDataMainModificationsBlockProperty">
				  <!-- Выдаем списки со свойствами для модификаций, чтобы определить какую модификацию товара хочет пользователь -->
				  {% FOR values %}
					<!-- Если это первый элемент в списке -->
					{% IF goods_modifications_properties.values.first %}
					  <label class="attribute_label">{goods_modifications_properties.NAME}:</label>
					  <div class="attribute_list">
						<select name="form[properties][]"  class="attribute_select">
					  {% 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>
					  </div>
					{% ENDIF %}
				  {% ENDFOR %}
				</div>
			  {% ENDFOR %}
и замените его на
{% FOR goods_modifications_properties %}
					<div class="goodsDataMainModificationsBlockProperty">
					  <!-- Выдаем списки со свойствами для модификаций, чтобы определить какую модификацию товара хочет пользователь -->
					  {% FOR values %}
									{% IF goods_modifications_properties.values.first %}
									  <strong>{goods_modifications_properties.NAME}:</strong>
									  <div class="clear"></div>
									{% ENDIF %}
					  {% ENDFOR %}
					  <div class="modLeft">
					  {% FOR values %}
							<label for="goods_mod_{goods_modifications_properties.values.ID}">{goods_modifications_properties.values.NAME}</label>
							<input type="radio" id="goods_mod_{goods_modifications_properties.values.ID}" name="form[properties][{goods_modifications_properties.ID}]" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} value="{goods_modifications_properties.values.ID}">
					  {% ENDFOR %}
					  </div>
					</div>				 
				  {% ENDFOR %}
Далее в файле 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('_');
  }

  var
  // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств
	goodsDataProperties = $('div.goodsDataMainModificationsBlock select[name="form[properties][]"]'),
  // Запоминаем блоки с информацией по модификациям, для ускорения работы
	goodsDataModifications = $('div.goodsDataMainModificationsList');
  // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
  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).find('input[type="radio"]').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('_');
}

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

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

  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(){
	
	$(this).find('input[type="radio"]').click(function(){
	   $(this).parents('.goodsDataMainModificationsBlockProperty').find('label').removeClass('activLabel');
	   $(this).parents('.goodsDataMainModificationsBlockProperty').find('label[for="' + $(this).attr('id') + '"]').addClass('activLabel');
Затем найдите
// Кнопка добавления товара на сравнение сравнения товаров
и перед ним добавьте код
goodsDataProperties.find('.goodsDataMainModificationsBlockProperty').each(function(){
	$(this).find('input:first').trigger('click');
  })
В конец файла main.css добавьте код
.goodsDataMainModificationsBlockProperty label.activLabel{border: 2px solid red;}


#3 Pavill

Pavill

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

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

Отправлено 12 Январь 2018 - 09:37

Спасибо получилось, но есть еще небольшие измененияТекст описания сделать обычным (не жирным) шрифтом,Перенести выбор размера и цвета под описание, и сделать размеры и цвета в вертикальном отображении. как на фото во вложении,Положить в корзину переместить под выбор размеров и цветов.Также после изменений перестал работать слайдер на главной странице.С уважением,Павел

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

  • Новая карточка товара белио 2018 1.jpg


#4 Vaccina

Vaccina

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

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

Отправлено 13 Январь 2018 - 08:49

Здравствуйте.

Сохраните пожалуйста изменения.
Obsessive 810 сорочка женская и стринги купить в бельевом интернет магазине в Москве по доступной цене.png

#5 Pavill

Pavill

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

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

Отправлено 13 Январь 2018 - 09:21

Доброе утро !
Изменения внес, но файла main.css у меня нет. Стили добавил в style.css.
Чтобы описание было не жирным,
И размеры и цветы в столбик.


SL-297726

#6 Pavill

Pavill

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

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

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

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

SL-297726

#7 Vaccina

Vaccina

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

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

Отправлено 17 Январь 2018 - 07:52

Здравствуйте.

Зайдите в раздел Сайт - Редактор шаблонов - Товар - найдите:
<div class="modLeft">
										  {% FOR values %}
														<label for="goods_mod_{goods_modifications_properties.values.ID}">{goods_modifications_properties.values.NAME}</label>
														<input type="radio" id="goods_mod_{goods_modifications_properties.values.ID}" name="form[properties][{goods_modifications_properties.ID}]" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} value="{goods_modifications_properties.values.ID}">
										  {% ENDFOR %}
										  </div>
                                          
замените на:
										  <div class="modLeft">
										  {% FOR values %}
											  <span>
														<input type="radio" id="goods_mod_{goods_modifications_properties.values.ID}" name="form[properties][{goods_modifications_properties.ID}]" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} value="{goods_modifications_properties.values.ID}" />
														<label for="goods_mod_{goods_modifications_properties.values.ID}">{goods_modifications_properties.values.NAME}</label>
											  </span>
										  {% ENDFOR %}
										  </div>

Зайдите в раздел Сайт - Редактор шаблонов - style.css - найдите:
#product_reference {display: block;clear: both;padding: 10px 0;}

после него пропишите:
.shortDesc{font-weight: normal;}

далее найдите:
#right-column .product_attributes{padding:10px 0 10px 0;border-top:1px dotted #c0c0c0}

после него пропишите:
#right-column .product_attributes .goodsDataMainModificationsBlockProperty{display: inline-block;vertical-align: top; margin-right: 10px;}
#right-column .product_attributes span{display: block;}


#8 Pavill

Pavill

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

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

Отправлено 18 Январь 2018 - 00:37

Доброй ночи !
Сделал изменения все идет в правильном направлении.

Небольшие корректировки,
Сделать шрифт в описании немного побольше на 1 шаг шрифта.

Убрать красные рамки при выборе цвета и размера,

и в чем причина ошибок которые высвечиваются на сайте красным в верхнем углу.
Как их устранить?

SL-297726

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

  • Новая карточка товара белио 2018 2.jpg


#9 Vaccina

Vaccina

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

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

Отправлено 18 Январь 2018 - 07:01

Здравствуйте.

Зайдите в раздел Сайт - Редактор шаблонов - style.css - найдите:
.shortDesc{font-weight: normal;}

замените на:
.shortDesc{font-weight: normal;font-size: 13px;}

далее найдите и удалите:
.goodsDataMainModificationsBlockProperty label.activLabel{border: 2px solid red;}


#10 Pavill

Pavill

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

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

Отправлено 21 Январь 2018 - 21:25

Большое спасибо !
Все отлично.
Как убрать скрытую ошибку, она по прежнему не исчезла.

SL-297726

#11 Stasya

Stasya

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

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

Отправлено 25 Январь 2018 - 15:31

Просмотр сообщенияPavill (21 Январь 2018 - 21:25) писал:

Большое спасибо !
Все отлично.
Как убрать скрытую ошибку, она по прежнему не исчезла.

SL-297726
Здравствуйте. Ошибки на сайте обнаружили. Скажите, пожалуйста, на какой странице она всплывает и при каких действиях?

#12 Pavill

Pavill

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

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

Отправлено 22 Февраль 2018 - 23:42

Ошибки появляются на страницах карточки товара.
Подскажите они влияют на ранжирование в поисковиках?

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

  • Ошибки карточки.jpg


#13 Mr.Nito

Mr.Nito

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

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

Отправлено 23 Февраль 2018 - 18:16

Просмотр сообщенияPavill (22 Февраль 2018 - 23:42) писал:

Ошибки появляются на страницах карточки товара.
Подскажите они влияют на ранжирование в поисковиках?
Здравствуйте.
На ранжирование не влияют.

Ошибки могут возникать из-за блокировщика рекламы или антивируса.
На данный момент на странице товара ошибок не обнаружил.

#14 Pavill

Pavill

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

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

Отправлено 24 Февраль 2018 - 08:03

Большое спасибо !




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

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