/ Сайтостроение / Адаптивность / Внедрение модулей транспортных компаний в WC

Внедрение модулей транспортных компаний в WC


Deprecated: Function create_function() is deprecated in /home/htvtwmhs/public_html/wp-content/plugins/wp-spamshield/wp-spamshield.php on line 2033

Внедряем модули различных транспортных компаний в плагин электронной торговли Woocommerce.

СДЕК

У компании СДЕК есть свое Api, и у них уже готовые решения для ряда CMS, но WC в их число не входит. Есть готовое решение от стороннего разработчика для версий WC до 3.0. бесплатное, после WC 3.0 платное (в районе 1600 руб) (инфа по нему по той же ссылке).
Демонстрация работы данного модуля по расчету доставки СДЕК.

Подключение СДЕК

  1. Запрашиваем у менеджера СДЕК API логин и API секретный ключ. API логин выдается компанией СДЭК по вашему запросу. Обязательны для учета индивидуальных тарифов и учета условий доставок по тарифам «посылка». Запрос необходимо отправить на адрес integrator@cdek.ru с указанием номера договора со СДЭК. Важно: Учетная запись для интеграции не совпадает с учетной записью доступа в Личный Кабинет СДЭК. API секретный ключ (пароль) выдаётся компанией СДЭК по вашему запросу. СДЕК присылает два набора: тестовый и боевой.
  2. Устанавливаем плагин wc-edostavka соответствующий версии WC. Прописываем полученные от СДЭК API логин и API ключ.
  3. Создаем в зоне доставки метод доставки Edostavka (СДЭК) и самое главное в методе выбираем Разрешенные тарифы.

Доставка через этот модуль осуществляется через платежный адрес (первая группа полей).

Переименование тарифов СДЭК

Переименовать один тариф:

add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 );
function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) {
 if( 136 == absint( $tariff_id ) ) {
  $label = 'Доставка СДЭК до пункта выдачи';
 }
 return $label;
}

Переименовать несколько тарифов:

// Переименовываем тарифы СДЭК
add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 );
function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) {
 $my_custom_names = array( 136 => 'Доставка СДЭК до пункта выдачи', 137 => 'Доставка СДЭК до двери' ); //В общем создаём массив с вашими названиями тарифов.
 if( in_array( $tariff_id, array_keys( $my_custom_names ) ) ) {
  $label = $my_custom_names[$tariff_id];
 }
 return $label;
}

Добавление / удаление тарифов

Фильтр edostavka_delivery_tariffs содержит массив тарифов в виде id => (numeric) label => название тарифа и type => тип тарифа (до двери [door]| до склада [stock])
Тарифы до постоматов уже не актуальны.

Пример добавления нового тарифа:

add_filter( 'edostavka_delivery_tariffs', 'add_my_custom_tariff');
function add_my_custom_tariff( $tariffs ) {
 array_push( $tariffs, array( 'id' => 158, 'label' => 'Международный экспресс', 'type' => 'stock'));
 return $tariffs;
}

Пример удаления тарифа:

add_filter( 'edostavka_delivery_tariffs', 'remove_tariff');
function remove_tariff( $tariffs ) {
 foreach( $tariffs as $index => $tariff ) {
  if( 158 == $tariff['id'] ) {
   unset( $tariffs[$index] );
  }
 }
 return $tariffs;
}

Деловые линии

У Деловых линий есть Api, они предлагают по нему документацию и я нашел примеры верстки кода. Есть готовые решения всего для 3-х CMS (Bitrix CMS, Amiro CMS, UMI CMS).

DHL

У DHL вроде есть какое-то Api, есть документация. Нет готовых решений и примеров реализации.

Pony Express

Не нашел модуля по интеграции в сайт.

ПЭК

Есть публичный Api, с документацией. Готовый модуль доставки только для Битрикс. Есть возможность установить на сайте трекер отслеживания груза (через iframe). Также на сайт можно поставить информер ПЭК, с просчетом стоимости доставки.

Кит

Вроде как есть информеры и даже Api, но при переходе по ссылкам — 404 ошибки.

Shiptor

Shiptor — агрегатор доставки для интернет-магазинов. Работает с такими сервисами доставки как: Почта России, Shiptor, Boxberry, DPD, СДЭК, IML, PickPoint.

Для Woocommerce есть готовый бесплатный плагин WooCommerce Shiptor.

Калькуляторы транспортных компаний для предварительного расчета

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

Выглядит это так:

При нажатии всплывает окно с калькулятором ТК:

Выведем в оформлении панель с логотипами транспортных компаний:

// Вывод всплывающих окон в доставку
add_filter('woocommerce_after_order_notes', 'popup_windows_delivery');

function popup_windows_delivery() {
	echo '
	<h3>Рассчет стоимости доставки</h3>
	<div class="tk-logos">
	<img id="dline" src="/wp-content/uploads/2018/07/delovie-linii-200.png">
	<img id="pek" src="/wp-content/uploads/2018/07/20161606225846-200.png">
	<img id="kit" src="/wp-content/uploads/2018/07/kit-tk200.png">
	<img src="/wp-content/uploads/2018/07/bsd.png">
	</div>
	';
}

Стили панели с логотипами ТК

.tk-logos {display: flex; align-items: center; justify-content: space-between;}
.tk-logos img {max-width: 115px; max-height: 50px;}

Далее прописываем вывод всплывающих окон.

Выводим в подвале сами окна (пока скрытые):

function feedback() {
	echo '
	<div class="popup dline"><p class="popup-title">dline</p><div id="feedback">
	<iframe src="https://widgets.dellin.ru/calculator/?derival_to_door=off&arrival_to_door=on&disabled_calculation=off&insurance=0&package=1"
    width="332" height="390" scrolling="no" frameborder="0"></iframe>
	</div></div>
	
	<div class="popup pek"><p class="popup-title">pek</p><div id="feedback">
	<iframe id="pecom-kabinet-iframe" allowtransparency="true" frameborder="0" width="800" height="1800" scrolling="auto" style="border: 0;" src="https://pecom.ru/ru/calc/?iframe=Y"><p>Пожалуйста, воспользуйтесь браузером, который поддерживает IFrame.</p> </iframe>
	</div></div>
	
	<div class="popup kit"><p class="popup-title">kit</p><div id="feedback">
	<p>В ближайшее время калькулятор будет обновлен.</p>
    <p>Приносим извинения за доставленные неудобства.</p>
	</div></div>
	
	<div class="popup bsd"><p class="popup-title">bsd</p><div id="feedback">
	<iframe src="https://www.calc.tkbsd.ru/short" width="345" height="250" scrolling="no" frameborder="0"></iframe>
	</div></div>
	';
}
add_action( 'popup-windows', 'feedback', 5 );

Это все выводится в подвале пользовательским хуком popup-windows.

И теперь прописываем скрипт всплывающих окон:

$(document).ready(function() {  
	$('#dline').click(function() {
		$('.popup.dline').show();

		$('.popup').removeClass('animated fadeOutDown');  
		$('.popup').addClass('animated fadeInDown');
		$('#backfon').show(); 
		$('#backfon').removeClass('fadeOut');  
		$('#backfon').addClass('animated fadeIn'); 
	});   
	
	$('#pek').click(function() {
		$('.popup.pek').show();

		$('.popup').removeClass('animated fadeOutDown');  
		$('.popup').addClass('animated fadeInDown');
		$('#backfon').show(); 
		$('#backfon').removeClass('fadeOut');  
		$('#backfon').addClass('animated fadeIn'); 
	});
	
	$('#kit').click(function() {
		$('.popup.kit').show();

		$('.popup').removeClass('animated fadeOutDown');  
		$('.popup').addClass('animated fadeInDown');
		$('#backfon').show(); 
		$('#backfon').removeClass('fadeOut');  
		$('#backfon').addClass('animated fadeIn'); 
	});
	
	$('#bsd').click(function() {
		$('.popup.bsd').show();

		$('.popup').removeClass('animated fadeOutDown');  
		$('.popup').addClass('animated fadeInDown');
		$('#backfon').show(); 
		$('#backfon').removeClass('fadeOut');  
		$('#backfon').addClass('animated fadeIn'); 
	});  	
});

Тэги:

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Настройка доставки

Настройка доставки

Настройка доставки в woocommerce 2.6 кардинальным образом изменилась. Стала более гибкой, но и более сложной в настройке. Разберемся в тонкостях настройки доставки. Зоны доставки Зоны доставки — это определенная территория Читать далее »

/

Добавить комментарий

1 комментарий

  1. Максим Мартиросов

    Автор, информация которую вы описали по плагину СДЭК, отчасти не актуальна. Бесплатная версия плагина не поддерживается уже давно. Версия для WC 3+ имеет два экземпляра — это «Калькулятор» и «Интегратор». Различие между версиями можно почитать тут http://cdek.woodev.ru/chasto-zadavaemye-voprosy.html а стоимость и способы приобретения тут http://cdek.woodev.ru/download
    С уважением, автор плагина WC eDostavka Максим Мартиросов

Внедрение модулей транспортных компаний в WC Внедрение модулей транспортных компаний в WC Внедрение модулей транспортных компаний в WC
Вывод города по IP
Рекомендации для васВывод города по IPOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.