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


Установка Виджета Пунктов Выдачи Заказа Сдэк


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

#1 Firefly

Firefly

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

  • Модераторы
  • 3 810 сообщений

Отправлено 27 Апрель 2020 - 10:48

Виджет пунктов выдачи заказа СДЭК

Основные возможности виджета:
  • Выбор города и отображение списка ПВЗ для него
  • Возможность выбора покупателем ПВЗ с передачей данных в соответствующее поле в форме оформления заказа
  • Вывод детальной информации для каждого ПВЗ
Если Вы еще не создали вариант доставки с именем СДЭК, это возможно сделать в разделе Настройки - Доставка.

Для установки виджета перейдите в раздел Сайт - Редактор шаблонов - HTML и добавьте код перед </head>:
<script id="ISDEKscript" type="text/javascript" src="https://widget.cdek.ru/widget/widjet.js"></script>

Далее перейдите в шаблон main.js (в блоке Скрипты) и найдите код:
$('.mainSelect').change(function(){
	 selectedDelId = $(this).find('option:selected').attr('delid');

После него добавьте код, где укажите Ваш идентификатор варианта доставки вместо стандартного 449755*:
// Запускаем виджет СДЭК при выборе варианта доставки с указанным id
if (selectedDelId === '449755') {
	 var widjet = new ISDEKWidjet ({
	 path: 'https://widget.cdek.ru/widget/scripts/',
	 choose: true,
	 defaultCity: 'Москва', // стандартный город на карте
	 cityFrom: 'Москва', // из какого города будет идти доставка
	 country: 'Россия', // можно выбрать страну, для которой отображать список ПВЗ
	 popup: true,
	 onChoose: onChoose,
	 hidedelt: true,
	 apikey: 'YANDEX_API_KEY' // ключ для корректной работы Яндекс.Карт, получить необходимо тут (https://developer.tech.yandex.ru/?from=club)
	 });
	
	 function onChoose(wat) {
		 $('#quickDeliveryComment').val(
			 'Выбран пункт выдачи заказа СДЭК ' + wat.id + "\n" +
			 'Срок: ' + wat.term + " дн.\n" +
			 'Город: ' + wat.cityName + ', Код города: ' + wat.city
		 );
	 }
	
	 setTimeout(function(){
	 widjet.open();
	 }, 1000);
} else {
	 $('#quickDeliveryComment').val('');
};

* В этом коде, как пример, добавлен идентификатор варианта доставки 449755. Свой id можно получить в разделе Настройки - Доставка внутри варианта доставки в URL адресе. Подробнее можно увидеть на скриншоте:
cdek.jpg

На стадии оформления заказа при выборе варианта доставки СДЭК данные будут подставляться в поле "Комментарий" к заказу.

Если в передаваемых данных в комментарий к заказу нужны адрес и как добраться, то после кода:
			 'Выбран пункт выдачи заказа СДЭК ' + wat.id + "\n" +

С новой строки добавьте код:
						 'Адрес: ' + wat.PVZ.Address + "\n" +
						 'Как добраться: ' + wat.PVZ.AddressComment + "\n" +


#2 admin

admin

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

  • Пользователи
  • PipPipPipPip
  • 505 сообщений
  • ГородСамара

Отправлено 17 Март 2021 - 16:31

Просмотр сообщенияFirefly (27 Апрель 2020 - 10:48) писал:

Виджет пунктов выдачи заказа СДЭК

Основные возможности виджета:
  • Выбор города и отображение списка ПВЗ для него
  • Возможность выбора покупателем ПВЗ с передачей данных в соответствующее поле в форме оформления заказа
  • Вывод детальной информации для каждого ПВЗ
Если Вы еще не создали вариант доставки с именем СДЭК, это возможно сделать в разделе Настройки - Доставка.

Для установки виджета перейдите в раздел Сайт - Редактор шаблонов - HTML и добавьте код перед </head>:
<script id="ISDEKscript" type="text/javascript" src="https://widget.cdek.ru/widget/widjet.js"></script>

Далее перейдите в шаблон main.js (в блоке Скрипты) и найдите код:
$('.mainSelect').change(function(){
	 selectedDelId = $(this).find('option:selected').attr('delid');

После него добавьте код, где укажите Ваш идентификатор варианта доставки вместо стандартного 449755*:
// Запускаем виджет СДЭК при выборе варианта доставки с указанным id
if (selectedDelId === '449755') {
	 var widjet = new ISDEKWidjet ({
	 path: 'https://widget.cdek.ru/widget/scripts/',
	 choose: true,
	 defaultCity: 'Москва', // стандартный город на карте
	 cityFrom: 'Москва', // из какого города будет идти доставка
	 country: 'Россия', // можно выбрать страну, для которой отображать список ПВЗ
	 popup: true,
	 onChoose: onChoose,
	 hidedelt: true,
	 apikey: 'YANDEX_API_KEY' // ключ для корректной работы Яндекс.Карт, получить необходимо тут (https://developer.tech.yandex.ru/?from=club)
	 });
	
	 function onChoose(wat) {
		 $('#quickDeliveryComment').val(
			 'Выбран пункт выдачи заказа СДЭК ' + wat.id + "\n" +
			 'Срок: ' + wat.term + " дн.\n" +
			 'Город: ' + wat.cityName + ', Код города: ' + wat.city
		 );
	 }
	
	 setTimeout(function(){
	 widjet.open();
	 }, 1000);
} else {
	 $('#quickDeliveryComment').val('');
};

* В этом коде, как пример, добавлен идентификатор варианта доставки 449755. Свой id можно получить в разделе Настройки - Доставка внутри варианта доставки в URL адресе. Подробнее можно увидеть на скриншоте:
Прикрепленный файл cdek.jpg

На стадии оформления заказа при выборе варианта доставки СДЭК данные будут подставляться в поле "Комментарий" к заказу.

Если в передаваемых данных в комментарий к заказу нужны адрес и как добраться, то после кода:
			 'Выбран пункт выдачи заказа СДЭК ' + wat.id + "\n" +

С новой строки добавьте код:
						 'Адрес: ' + wat.PVZ.Address + "\n" +
						 'Как добраться: ' + wat.PVZ.AddressComment + "\n" +

Добрый день
Помогите что не так, у меня не работает виджет
SL-171870

#3 Foxis_10

Foxis_10

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

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

Отправлено 18 Март 2021 - 16:58

Здравствуйте. Удалите вставленный в main.js код.
Для Маркетплейс в шаблоне main.js после строки

let fz = $($('.zone__radio[deliveryid='+val+']')[0]);

добавьте этот код

if (val=446482)
	{ var widjet = new ISDEKWidjet ({
		 path: 'https://widget.cdek.ru/widget/scripts/',
		 choose: true,
		 defaultCity: 'Москва', // стандартный город на карте
		 cityFrom: 'Москва', // из какого города будет идти доставка
		 country: 'Россия', // можно выбрать страну, для которой отображать список ПВЗ
		 popup: true,
		 onChoose: onChoose,
		 hidedelt: true,
		 apikey: 'YANDEX_API_KEY' // ключ для корректной работы Яндекс.Карт, получить необходимо тут (https://developer.tech.yandex.ru/?from=club)
		 });

		 function onChoose(wat) {
				 $('#quickDeliveryComment').val(
						 'Выбран пункт выдачи заказа СДЭК ' + wat.id + "\n" +
						 'Срок: ' + wat.term + " дн.\n" +
						 'Город: ' + wat.cityName + ', Код города: ' + wat.city
				 );
		 }

		 setTimeout(function(){
		 widjet.open();
		 }, 1000);
} else {
		 $('#quickDeliveryComment').val('');
};


#4 admin

admin

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

  • Пользователи
  • PipPipPipPip
  • 505 сообщений
  • ГородСамара

Отправлено 18 Март 2021 - 17:27

Просмотр сообщенияFoxis_10 (18 Март 2021 - 16:58) писал:

Здравствуйте. Удалите вставленный в main.js код.
Для Маркетплейс в шаблоне main.js после строки

let fz = $($('.zone__radio[deliveryid='+val+']')[0]);

добавьте этот код

if (val=446482)
{ var widjet = new ISDEKWidjet ({
path: 'https://widget.cdek.ru/widget/scripts/',
choose: true,
defaultCity: 'Москва', // стандартный город на карте
cityFrom: 'Москва', // из какого города будет идти доставка
country: 'Россия', // можно выбрать страну, для которой отображать список ПВЗ
popup: true,
onChoose: onChoose,
hidedelt: true,
apikey: 'YANDEX_API_KEY' // ключ для корректной работы Яндекс.Карт, получить необходимо тут (https://developer.tech.yandex.ru/?from=club)
});

function onChoose(wat) {
$('#quickDeliveryComment').val(
'Выбран пункт выдачи заказа СДЭК ' + wat.id + "\n" +
'Срок: ' + wat.term + " дн.\n" +
'Город: ' + wat.cityName + ', Код города: ' + wat.city
);
}

setTimeout(function(){
widjet.open();
}, 1000);
} else {
$('#quickDeliveryComment').val('');
};
Данный виджет так же начинает показываться при нажатии на кнопку оформить заказ в корзине

#5 stasia

stasia

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

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

Отправлено 18 Март 2021 - 19:42

Здравствуйте. Правки Вам добавили.

Скрыли Вам строку кода:

	  // $('.hiddenUpdate').html(data);


#6 VarimSamogon

VarimSamogon

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

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • ГородМытищи

Отправлено 13 Апрель 2021 - 10:42

У меня нет таких кодов в main.js
Как встроить код, подскажите, плииииз

#7 Foxis_10

Foxis_10

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

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

Отправлено 13 Апрель 2021 - 16:50

Здравствуйте. Правки вам внесли. В main.js добавленный код вы можете найти через поиск по коду Ctrl+F

var fz = $($('.zone__radio[deliveryid='+val+']')[0]); 
	if (val== 376263)

У вас был зациклен код из-за этой строки в main.js (закомментировала вам её)

// .trigger('click');

#8 Лора

Лора

    Новичок

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

Отправлено 13 Июнь 2023 - 08:13

Не могу найти код $('.mainSelect').change(function(){
  selectedDelId = $(this).find('option:selected').attr('delid');  в шаблоне main.js

#9 stasia

stasia

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

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

Отправлено 13 Июнь 2023 - 11:25

Просмотр сообщенияЛора (13 Июнь 2023 - 08:13) писал:

Не могу найти код $('.mainSelect').change(function(){
  selectedDelId = $(this).find('option:selected').attr('delid');  в шаблоне main.js


Здравствуйте.
Вам нужно найти данный код в шаблоне main.js (в блоке Скрипты):
// Выбор доставки и оплаты
function orderScriptsSelect() {
// Выбор доставки
$('.delivery__select select').change(function(){
var selectedDelId = $(this).find('option:selected').attr('delid');
И после него добавить скрипт по инструкции.

#10 skoer

skoer

    Новичок

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

Отправлено 15 Февраль 2024 - 21:45

здравствуйте, при попытке найти код main.jss не находит такого кода и дальнейшее перемещение кода из инструкции невозможно.

#11 stasia

stasia

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

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

Отправлено 16 Февраль 2024 - 20:27

Просмотр сообщенияskoer (15 Февраль 2024 - 21:45) писал:

здравствуйте, при попытке найти код main.jss не находит такого кода и дальнейшее перемещение кода из инструкции невозможно.

Здравствуйте. Уточните номер Вашего Аккаунта, спасибо.




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

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