Разработал решение, которое ждали многие клиенты платформы по интеграции магазинов на Storeland со службой доставки СДЭК. В него входит:
1) Выбор пункта выдачи на онлайн-карте с подстановкой данных в форму заказа
2) Расчет стоимости и сроков доставки в указанный пункт, с учетом габаритов и веса товаров
3) Замена дефолтной стоимости доставки на рассчитанную непосредственно в самом заказе
Т.е. теперь в заказ передается сумма доставки, рассчитанная автоматически через алгоритмы СДЭК, а не только фиксированная из настроек магазина.
Пример можно посмотреть и протестировать здесь http://sdekdemo.storeland.ru
Новая рассчитанная стоимость доставки будет отображать абсолютно везде, на всех страницах и документах, кроме:
- Уведомлений администратору о новом заказе (т.к. нет возможности их редактирования)
- СМС клиенту о новом заказе (Можно из СМС переменную стоимости заказа в принципе убрать, оставив только благодарность за совершенную покупку)
Уведомления клиенту на почту будут приходить с корректной стоимостью доставки!
За подобной реализацией обращайтесь в ЛС или в платную поддержку по адресу support@storeland.ru
Стоимость подключения - 5000р под ключ (входит подключение скриптов, настройка габаритов и веса товаров, стандартного оформления заказа, оформления быстрого заказа, а так же уведомлений покупателю)
- Форум владельцев интернет-магазинов
- → Просмотр профиля: Темы: MikDark
Статистика
- Группа: Модераторы
- Сообщений: 6 459
- Просмотров: 16 203
- Статус: Активный участник
- Возраст: 31 лет
- День рождения: Июль 28, 1989
-
Пол
Мужчина
Мои темы
Полноценная Интеграция Со Сдэк. Есть Решение!
03 Октябрь 2020 - 16:10
Не Меняется Количество Товаров В Каталоге
16 Июнь 2020 - 18:08
Если Вы столкнулись с проблемой, что в каталоге товаров при пролистывании с 2,3 и т.п страницам у Вас перестает работать выбор количества товара, то нужно произвести следующие изменения:
1) В шаблоне main.js замените код:
на
2) Перед кодом:
добавляем:
и перед кодом:
добавляем:
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) В нем найдите строку:
и замените ее на:
Теперь, если у товара есть характеристика "Модель", то она автоматически попадет в данный параметр
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) В шаблоне Товар после кода:
добавьте:
2) В шаблоне main.js после кода:
добавьте:
3) В шаблон main.js после кода:
добавить:
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(),
- Форум владельцев интернет-магазинов
- → Просмотр профиля: Темы: MikDark
- Privacy Policy