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


MikDark

Регистрация: 13 марта 2014
Offline Активность: 27 сент. 2020 12:02
*****

Мои темы

Не Меняется Количество Товаров В Каталоге

16 Июнь 2020 - 18:08

Если Вы столкнулись с проблемой, что в каталоге товаров при пролистывании с 2,3 и т.п страницам у Вас перестает работать выбор количества товара, то нужно произвести следующие изменения:

1) В шаблоне main.js замените код:

$('.qty-plus').click(function(){
	var
	  quantity = $(this).parent().find('.quantity')
	  ,currentVal = parseInt(quantity.val())
	;
	if (!isNaN(currentVal)){
	  quantity.val(currentVal + 1);
	  quantity.trigger('keyup');
	}
	return false;
  });
  $('.qty-minus').click(function(){
	var
	  quantity = $(this).parent().find('.quantity')
	  ,currentVal = parseInt(quantity.val())
	;
	if (!isNaN(currentVal) && !(currentVal <= 1) ){
		quantity.val(currentVal - 1);
		quantity.trigger('keyup');
	}
	return false;
  });

на

quantity();

2) Перед кодом:

$(document).ready(function(){
 
  $('#column-left .box-heading').click(function(){

добавляем:

function quantity(){
$('.qty-plus').click(function(){
	var
	  quantity = $(this).parent().find('.quantity')
	  ,currentVal = parseInt(quantity.val())
	;
	if (!isNaN(currentVal)){
	  quantity.val(currentVal + 1);
	  quantity.trigger('keyup');
	}
	return false;
  });
  $('.qty-minus').click(function(){
	var
	  quantity = $(this).parent().find('.quantity')
	  ,currentVal = parseInt(quantity.val())
	;
	if (!isNaN(currentVal) && !(currentVal <= 1) ){
		quantity.val(currentVal - 1);
		quantity.trigger('keyup');
	}
	return false;
  });
}

и перед кодом:

lastPage++;
	  // если это последняя страница, завершаем работу

добавляем:

quantity();

Добавление Элемента Model В Yml-Файл

08 Июнь 2020 - 15:52

Если при загрузке YML-файла в Яндекс.Маркет, он выдает ошибку: Название модели присутствует только у 0% товарных предложений, то нужно сделать следующее:

1) Зайдите в раздел Сайт - Редактор шаблонов, в левом столбце находим подпункт: Другие шаблоны и там: Экспорт товаров на Яндекс.Маркет

Изображение

2) В нем найдите строку:

{% FOR attr %}<param name="{goods.attr.NAME | xml_data}"><![CDATA[{goods.attr.VALUE}]]></param>{% ENDFOR %}

и замените ее на:

{% FOR attr %}{%IF goods.attr.NAME = Модель%}<model><![CDATA[{goods.attr.VALUE}]]></model>{%ELSE%}<param name="{goods.attr.NAME | xml_data}"><![CDATA[{goods.attr.VALUE}]]></param>{%ENDIF%}{% ENDFOR %}

Теперь, если у товара есть характеристика "Модель", то она автоматически попадет в данный параметр

Не Пересчитывает Сумма Заказа При Оформлении Заказа В Корзине

03 Июнь 2020 - 10:13

Если Вы столкнулись с проблемой, при которой при оформлении заказа сумма заказа не пересчитывается, то Вам нужно зайти в раздел Сайт - Редактор шаблонов и там в шаблоне main.js после строки:
$('.total .price').html(tr_total.find('.total-sum').text());

добавить:
$('.TotalSumDelivery .price').html(tr_total.find('.total-sum').text());

Далее найдите в блоке // Действия при выборе варианта доставки на этапе оформления заказа код:
currentPriceWithoutChange = (parseInt(TotalSumDelivery.replace(/\s+/g, ''),10)) - parseInt(latestDeliveryPrice);
NewPriceWithChange = parseInt(startprice) + currentPriceWithoutChange;
Замените на:
currentPriceWithoutChange = $('.TotalSum .price .num').text();
NewPriceWithChange = parseInt(startprice) + parseInt(currentPriceWithoutChange);

Далее найдите в // Действия при выборе зоны внутри варианта доставки на этапе оформления заказа код:
currentPriceWithoutChange = (parseInt(TotalSumDelivery.replace(/\s+/g, ''),10)) - parseInt(latestDeliveryPrice);
NewPriceWithChange = parseInt(price) + currentPriceWithoutChange;
Замените на:
currentPriceWithoutChange = $('.TotalSum .price .num').text();
NewPriceWithChange = parseInt(startprice) + parseInt(currentPriceWithoutChange);

И чуть ниже также есть этот же код:
currentPriceWithoutChange = (parseInt(TotalSumDelivery.replace(/\s+/g, ''),10)) - parseInt(latestDeliveryPrice);
NewPriceWithChange = parseInt(price) + currentPriceWithoutChange;
Его также нужно заменить на:
currentPriceWithoutChange = $('.TotalSum .price .num').text();
NewPriceWithChange = parseInt(startprice) + parseInt(currentPriceWithoutChange);

Изображение


Изображение  Изображение

При следующем обновлении шаблона Дружок в галерее тем эти изменения будут уже внесены по умолчанию

Изменение Изображения При Смене Модификации

14 Май 2020 - 10:21

Если Ваш товар имеет несколько цветов и Вы хотите, чтобы при выборе цвета появлялась соответствующая картинка, то выполните следующую инструкцию:

1) В шаблоне Товар после кода:

<input type="hidden" name="is_has_in_compare_list" value="{goods_modifications.IS_HAS_IN_COMPARE_LIST}" />

добавьте:

<input type="hidden" name="goods_mod_image_id" value="{goods_modifications.GOODS_MOD_IMAGE_ID}" />

2) В шаблоне main.js после кода:

// Идентификатор товарной модификации
goodsModificationId.val(modificationId);

добавьте:


// Меняет главное изображение товара на изображение с идентификатором goods_mod_image_id
function changePrimaryGoodsImage(goods_mod_image_id) {
// Если не указан идентификатор модификации товара, значит ничего менять не нужно.
if(1 > goods_mod_image_id) {
return true;
}
var
// Блок с изображением выбранной модификации товара
goodsModImageBlock = $('.thumblist [data-id="' + parseInt(goods_mod_image_id) + '"'),
// Блок, в котором находится главное изображение товара
MainImageBlock = $('.product-image'),
// Изображение модификации товара, на которое нужно будет изменить главное изображение товара.
MediumImageUrl = goodsModImageBlock.find('a').attr('href'),
// Главное изображение, в которое будем вставлять новое изображение
MainImage = MainImageBlock.find('img'),
// В этом объекте хранится идентификатор картинки главного изображения для коректной работы галереи изображений
MainImageIdObject = MainImageBlock.attr('data-id');
// Если изображение модификации товара найдено - изменяем главное изображение
MainImage.attr('src', MediumImageUrl);
// Изменяем идентификатор главного изображения
MainImageBlock.attr("data-id", parseInt(goods_mod_image_id));
return true;
}
// Обновляем изображение модификации товара, если оно указано
changePrimaryGoodsImage(modificationGoodsModImageId);

3) В шаблон main.js после кода:

modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(),

добавить:

modificationGoodsModImageId = modificationBlock.find('[name="goods_mod_image_id"]').val(),

Изменение Изображения При Смене Модификации

28 Апрель 2020 - 10:04

Если Ваш товар имеет несколько цветов и Вы хотите, чтобы при выборе цвета появлялась соответствующая картинка, то выполните следующую инструкцию:

1) В шаблоне Товар после кода:

<input type="hidden" name="is_has_in_compare_list" value="{goods_modifications.IS_HAS_IN_COMPARE_LIST}" />

добавьте:

<input type="hidden" name="goods_mod_image_id" value="{goods_modifications.GOODS_MOD_IMAGE_ID}" />

2) В шаблоне Товар заменить:

<li><a href="{goods_images.LARGE}" title="{goods_images.NAME}" class="thumblisticon" rel="gallery"><img src="{goods_images.ICON}" alt="{goods_images.NAME}" class="goods-image-icon" itemprop="image" /></a></li>

на

<li><a href="{goods_images.LARGE}" title="{goods_images.NAME}" class="thumblisticon" data-id="{goods_images.ID}" rel="gallery"><img src="{goods_images.ICON}" alt="{goods_images.NAME}" class="goods-image-icon" itemprop="image" /></a></li>  


3) В шаблоне main.js после кода:

// Идентификатор товарной модификации
goodsModificationId.val(modificationId);

добавьте:


 // Меняет главное изображение товара на изображение с идентификатором goods_mod_image_id
function changePrimaryGoodsImage(goods_mod_image_id) {
// Если не указан идентификатор модификации товара, значит ничего менять не нужно.
if(1 > goods_mod_image_id) {
return true;
}
var
// Блок с изображением выбранной модификации товара
goodsModImageBlock = $('.thumblist [data-id="' + parseInt(goods_mod_image_id) + '"'),
// Блок, в котором находится главное изображение товара
MainImageBlock = $('.product-image'),
// Изображение модификации товара, на которое нужно будет изменить главное изображение товара.
MediumImageUrl = goodsModImageBlock.attr('href'),
// Главное изображение, в которое будем вставлять новое изображение
MainImage = MainImageBlock.find('img'),
MainImageUrl = MainImageBlock.find('a'),
// В этом объекте хранится идентификатор картинки главного изображения для коректной работы галереи изображений
MainImageIdObject = MainImageBlock.attr('data-id')
;

// Если изображение модификации товара найдено - изменяем главное изображение
MainImage.attr('src', MediumImageUrl);
MainImageUrl.attr('href', MediumImageUrl);
// Изменяем идентификатор главного изображения
MainImageBlock.attr("data-id", parseInt(goods_mod_image_id));
return true;
}
// Обновляем изображение модификации товара, если оно указано
changePrimaryGoodsImage(modificationGoodsModImageId);

4) В шаблон main.js после кода:

modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(),

добавить:

modificationGoodsModImageId = modificationBlock.find('[name="goods_mod_image_id"]').val(),