kalbac / wc-edostavka Goto Github PK
View Code? Open in Web Editor NEWРасширение для плагина WP WooCommerce. Добавляет метод доставки курьерской службы СДЭК.
Home Page: https://cdek.ru/integration
License: MIT License
Расширение для плагина WP WooCommerce. Добавляет метод доставки курьерской службы СДЭК.
Home Page: https://cdek.ru/integration
License: MIT License
Собственно вот, возьмите на заметку.
[11-Aug-2017 10:24:34 UTC] PHP Warning: A non-numeric value encountered in /var/www/domisolnce/html/wp-content/plugins/wc-edostavka/includes/class-wc-shipping-edostavka.php on line 278
[11-Aug-2017 10:40:28 UTC] PHP Warning: Declaration of WC_Edostavka_Shipping_Method::calculate_shipping() should be compatible with WC_Shipping_Method::calculate_shipping($package = Array) in /var/www/domisolnce/html/wp-content/plugins/wc-edostavka/includes/class-wc-shipping-edostavka.php on line 0
Добрый вечер! Нашел код который позволяет продукты в корзине делить и некоторым из них присваивать только нужный нам способ доставки. Только одна проблема карта яндекса не работает и графа выбора пункта ПВЗ не появляется. Вот сам код
`/**
This function loops over cart items, and moves any item with shipping class 'special-class' into a new package.
The new package in this example only takes flat rate shipping.
*/
function split_special_shipping_class_items2( $packages ) {
$found_item = false;
$special_class = 'big-order'; // edit this with the slug of your shippig class
$new_package = current( $packages );
$new_package['contents'] = array();
$new_package['contents_cost'] = 0;
$new_package['applied_coupons'] = array();
$new_package['ship_via'] = array( 'flat_rate' ); // Only allow flat rate for items in special class
$new_package['name2'] = 'Доставка 2'; // your custom label for this package
foreach ( WC()->cart->get_cart() as $item_key => $item ) {
// Is the product in the special class?
if ( $item['data']->needs_shipping() && $special_class === $item['data']->get_shipping_class() ) {
$found_item = true;
$new_package['contents'][ $item_key ] = $item;
$new_package['contents_cost'] += $item['line_total'];
// Remove from original package
$packages[0]['contents_cost'] = $packages[0]['contents_cost'] - $item['line_total'];
unset( $packages[0]['contents'][ $item_key ] );
// If there are no items left in the previous package, remove it completely.
if ( empty( $packages[0]['contents'] ) ) {
unset( $packages[0] );
}
}
}
if ( $found_item ) {
$packages[] = $new_package;
}
return $packages;
}
// Hook into shipping packages filter
add_filter( 'woocommerce_cart_shipping_packages', 'split_special_shipping_class_items2' );
// output the new package name
add_filter( 'woocommerce_shipping_package_name', 'rename_custom_package2', 10, 3 );
function rename_custom_package2( $package_name, $i, $package ) {
if ( ! empty( $package['name2'] ) ) {
$package_name = $package['name2'];
}
return $package_name;
}`
Может Вам понятно почему карта и пвз не работают при этом коде? Заранее спасибо.
Добрый вечер господа. Из списка можно выбрать пункты самовывоза, но почему-то перестали отображаться пункты самовывоза на карте по городу Москва. В любых других городах все работает замечательно, а вот по Москве, карта Яндекс абсолютно пустая.
У кого нибудь наблюдается такая проблема?!
Вот наш интернет-магазин: https://caffevita.ru
Добрый день. Подскажите насколько сложно реализовать возможность показать карту ПВЗ на отдельной странице? Например было бы очень удобно на информационной странице Доставка вставить шорткод например [wc_edostavka] и на странице показалась бы карта и выбор города. Выбираешь город и вуаля. Вот все пункты выдачи.
Я что-то не совсем понял, то ли пдагин поддерживается, то ли нет. Если нет, как мы вроде как обсуждали, то что за обновления? Для кого?
Если да, то ни старая версия, ни новая у меня так и не заработала. Не указана точно совместимость ни wp ни wc. Например, у меня даже в настройках плагина город указать отправителя нельзя - не ищет ничего из выпадающего окна. Ну и сам плагин на сайте не показывается естественно
Неверно показывает стоимость доставки в корзине/оформлении заказа. Независимо от того какие товары кладём, стоимость отличается в разы в большую сторону. Судя по логам от СДЕК приходят правильные цифры, они сходятся с их калькулятором. Что делать? Куда копать?
Вот что приходит от СДЕК:
08-11-2017 @ 13:24:35 - Параметры запроса: Array
(
[tariffs] => Array
(
[0] => 136
[1] => 137
)
[login] => ***
[password] => ***
[sender_city] => 44
[receiver_city] => 44
)
08-11-2017 @ 13:24:35 - Вес и объём для каждого товара: Array
(
[0] => Array
(
[height] => 3
[width] => 10
[length] => 10
[weight] => 0.025
)
)
08-11-2017 @ 13:24:36 - Ответ на запрос тарифа [Посылка склад-склад]
08-11-2017 @ 13:24:36 - Сервер СДЭК вернул результат: Array
(
[price] => 147.5
[deliveryPeriodMin] => 1
[deliveryPeriodMax] => 1
[deliveryDateMin] => 2017-08-14
[deliveryDateMax] => 2017-08-14
[tariffId] => 136
[priceByCurrency] => 147.5
[currency] => RUB
)
08-11-2017 @ 13:24:36 - Ответ на запрос тарифа [Посылка склад-дверь]
08-11-2017 @ 13:24:36 - Сервер СДЭК вернул результат: Array
(
[price] => 312.7
[deliveryPeriodMin] => 1
[deliveryPeriodMax] => 1
[deliveryDateMin] => 2017-08-14
[deliveryDateMax] => 2017-08-14
[tariffId] => 137
[priceByCurrency] => 312.7
[currency] => RUB
)
Body text
Максим, здравствуйте.
Установил плагин на тестовом сайте с woo 2.6.4, все отлично, плагин просто супер. Но на основном сайте стоит уже woo 3.0.7 и откатываться назад страшновато, т.к. обязательно что-нибудь перестанет работать. В СДЭК при запросе плагина перенаправляют на вас. Вопрос я смотрю актуальный для многих, аналогов этого плагина я нигде не нашел. Планируется ли обновление плагина для работы с woo 3 (если да, то когда?) и будет ли дальнейшая поддержка плагина?
Спасибо!
Возникла проблема с плагином СДЭК. Все настроили корректно, все и везде добавили, но у одних людей на странице оформления заказа отображены все методы доставки и все работает правильно, а у других пишет, что нет доступных методов доставки. Пробовали с разных браузеров, в одном браузере например есть проблема, а в другом нету и т.д
Причем программист который настраивает плагин в недоумении - с его компьютера и с его браузеров все показывается. У меня и друзей - нет.
С чем может быть связана проблема?
Доброго дня! При подсчете в корзине нет возможности выбора города. И к примеру если при оплате был выбран город Набережные Челны в корзине он отображается цифрами "433" в графе Область/Регион
Добавил новую версию плагина, настройки в админке есть, но они не сохраняются почему то. И в корзине нет этого метода доставки
Максим здравствуйте, отписался на почту - продублирую т.к. мало ли у кого-то тоже есть такая проблема.
В настройках WooCommerce есть опция "Местонахождения клиента". Цель - чтобы при переходе к офомрлению заказа ваш плагин показывал ему карту ЕГО города.
К сожалению если выбрать Geolocate то город будет пустым, то есть видимо отсутствует связь между геолокацией и плагином. Скажите есть вариант это как-то исправить?
Проблема в следующем:
Плагин не правильно считает (а иногда вообще не считает) стоимость доставки. Скриншоты во вложении.
Первый раз столкнулись с проблемой при попытке установить плагин на наш основной сайт, но столкнувшись с этой проблемой. Стали разбираться, но проблем с сайтом выявлено не было.
Решили пойти другим путём: создали новый сайт (другой хостинг, другой шаблон, последняя версия wordpress и woocommerce) и на этот новый сайт установили Ваш модуль. Проблема повторилась. Плагин так же не верно считает стоимость доставки, а иногда сообщает что в выбранный город вообще нет доставки, хотя через онлайн калькулятор на сайте курьерской службы всё считается верно и доставка туда осуществляется.
Никак не получается настроить. пробовал на абсолютно разных настройках сайтов, в том числе на полностью пустых от плагинов и тем. В чем может быть моя ошибка?
Вечер добрый! Сегодня заметил проблему с плагином СДЭК, он отключается полностью при единоразовой покупке на сайте свыше 28 тысяч рублей. Кто нибудь сталкивался с данной проблемой?!
Прежде всего спасибо за классный плагин.
Есть вопрос. Я использую в своем магазине дополнительные метод доставки "Бесплатная доставка" (сумма минимального заказа). При достижении определенной суммы заказа появляется Бесплатная доставка.
Можно ли сделать так, чтобы при методе "Бесплатная доставка" оставался выбор ПВЗ, поскольку отправлять заказ мы будем компанией Сдэк, просто с клиента за доставку деньги не берем?
Добрый день.
Суть проблемы:
Деактивировал и удалил 1.2.2, установил и активировал 1.3.6
При настройки зоны доставки:
Как быть? И как заставить этот очень нужный плагин работать?
Спасибо!
Подскажите как исправить ошибку? При установленном плагине wc-edostavka плагин WooCommerce Checkout Field Editor выдает следующую ошибку:
Fatal error: Uncaught Error: Call to a member function get() on null in /home/s/sandfantas/shop_www/public_html/wp-content/plugins/wc-edostavka-1.4.0/includes/functions.php:11 Stack trace: #0 /home/s/sandfantas/shop_www/public_html/wp-content/plugins/wc-edostavka-1.4.0/wc-edostavka.php(233): wc_edostavka_get_chosen_shipping_method() #1 /home/s/sandfantas/shop_www/public_html/wp-includes/class-wp-hook.php(298): WC_Edostavka_Shipping->default_address_fields(Array) #2 /home/s/sandfantas/shop_www/public_html/wp-includes/plugin.php(203): WP_Hook->apply_filters(Array, Array) #3 /home/s/sandfantas/shop_www/public_html/wp-content/plugins/woocommerce/includes/class-wc-countries.php(607): apply_filters('woocommerce_def...', Array) #4 /home/s/sandfantas/shop_www/public_html/wp-content/plugins/woocommerce/includes/class-wc-countries.php(997): WC_Countries->get_default_address_fields() #5 /home/s/sandfantas/shop_www/public_html/wp-content/plugins/woocommerce-checkout-field-editor/classes/class-wc-checkout-field-editor.php(166): WC_Cou in /home/s/sandfantas/shop_www/public_html/wp-content/plugins/wc-edostavka-1.4.0/includes/functions.php on line 11
Подскажите как реализовать определение города покупателя и допустим, автозаполнение поля город, на странице checkout'а
У вас в readme.txt есть ссылка на мануал:
http://www.edostavka.ru/website/edostavka/upload/custom/files/WP.pdf
Там сказано, что "Из папки плагина файл RU.php установить в
/wpcontent/plugins/woocommerce/i18n/states".
Этого файла в папке с плагином не обнаружил, я сделал его сам:
https://www.dropbox.com/s/4o0pc1i54x2nruw/RU.php?dl=0
Но это не помогло, хотя в этом ли дело я не знаю. Смотрел исходный код
плагина и не понимаю где он должен взять ID городов - в функции
get_receiver_city есть только упоминания state_id, но city_id нет.
Но эту проблему удалось решить прямой правкой файла (строка 253):
'sender_city' => wc_edostavka_get_option( 'city_origin' ),
поменял на:
'sender_city' => 220,
День добрый господа. Сегодня решил протестировать сдэк на функциональность (малоли что-то не работает или не обновляется опять). При вводе некоторых городов, карта яндекс не подгружалась, на некоторых городах все нормально было, но тем не менее, ошибка от сдэка висела постоянно. Это у нас проблемы или есть еще у кого?
Раньше это было возможно и было очень удобно.
Сейчас многие клиенты игнорируют СДЭК именно потому что не знают что это сдэк
чекбокс в настройках никак не влияет на форму чекаута(поле всё равно есть)
Не считает доставку, после первого ввода города.
Требуется повторный ввод.
Иногда выдает ошибку. что необходим "Платежный город"
При попытках ограничить бесплатную доставку клиенту по определенному региону в зонах доставки по умолчанию регионов нет.
Если я пытаюсь в functions.php добавить
"function custom_woocommerce_states( $states ) {
$states['RU'] = array(
44 => __('Москва, Москва, Россия'),
);
return $states;
}"
то плагин перестает видеть другие регионы кроме этого.
Если создать фаил со всеми регионами в Woocomerce (woocomerce/i18n/states/RU.php)
То регионы появляются в зонах доставки, но плагин перестает считать доставку для любого региона кроме региона по умолчанию.
А можно пример применения новшеств из 1.4 =) Хочу сменить имена тарифов (как в прошлой версии Курьерская доставка и ПВЗ), но что-то делаю явно не так, не выходит =(
Подскажите, плагин умеет выводить ПВЗ на карте?
Здравствуйте.
Как изменить отображение вариантов способов доставки?
Сейчас, например, отображается:
Посылка дверь-склад (2 дня): 305Р
Посылка дверь-дверь (2 дня): 455Р
А надо:
Здравствуйте!
У меня ВП версии 4.6.3, wocommerce 2.4.12
При установке плагина не работает страница оформления заказа. При обновлении ВП и ВК не появляется в настройках плагин (точнее в плагинах он появляется, а в настройках доставки - нет). И с зонами доставки при обновлении ВК не очень понятно.
Я так понимаю это конфликт версий
"Для версии плагина ниже 1.3.2
Wordpress не ниже 4.2
Woocommerce не ниже 2.3
PHP не ниже 5.3
Для версии плагина выше 1.3.6
Wordpress не ниже 4.6
Woocommerce не ниже 2.5.4
PHP не ниже 5.3"
Как можно получить плагин верссии 1.3.2 или ниже?
Добрый день! Не вижу этот файл. Про него в инструкции по установке написано. В директории плагина его нет и в папках тоже
При первом посещении страницы чекаут, в адресе доставки по умолчанию стоит город отправителя, как убрать? сделть поле пустым
Приветствую!) С зонами доставки как понял еще не сделал, может подскажешь где хоть доки найти, там по идее немного нужно изменить же!) А то настроить нужно))
Добрый день!
СДЭК стал сотрудничать с постоматами InPost.
Очень хочется увидеть эти почтоматы при выборе ПВЗ на странице оформления заказа Woocommerce.
Было бы здорово, если такая задача будет реализована.
На данный момент покупатели даже не подозревают о дополнительных возможностях доставки.
Спасибо
Здравствуйте. Будет ли в след. версиях возможность установить определенную сумму (или вычитать / делать наценку) при доставке для определенных городов?
Например, сделать -175 р. на доставку от предлагаемой цены только для Москвы и Спб, а для все остальных городов пускай берет информацию с серверов Сдека ?
Есть ли такая возможность вообще или даже не стоит такое ожидать?
Заранее спасибо.
Собственно вопрос такой. При включении кэширования перестает адекватно работать этот модуль. Что же делать? Какие исключения нужно прописывать!?
Только у меня не работает? Нет вариантов.
Доброго вечера! Как уже говорили если адрес является обязательным и не введен то не считает стоимость. Сейчас выход только один, ставить галку не обязательный. Но если человек выбрал курьера естественно это может создать трудности. Как быть?
Уважаемые партнеры!
В API CDEK внесены изменения:
- В связи с изменениями в законе ФЗ-54, которые вступают в силу 01.07.2017, необходимо внести изменения в интеграционные модули. Для этого в протокол добавлены атрибуты:
- ставка НДС за единицу товара
- сумма НДС за единицу товара,
- ставка НДС за «дополнительный сбор за доставку с получателя»,
- сумма НДС с «доп. сбора за доставку с получателя».
Ставка НДС может содержать значения: БЕЗ НДС, 0%, 10%, 18%.
Условие применяется только для заказов с доставкой в РФ (получатель находится в РФ).
Просьба ко всем партнерам добавить это в свои модули, тогда СДЭК сможет в чеках получателям отображать суммы и отправлять эту информацию в ОФД.
- Добавлены новые атрибуты в список список пунктов выдачи заказов (PvzList): страна, регион, есть ли примерочная, есть ли терминал оплаты, ближайшая остановка транспорта, сайт ПВЗ на странице СДЭК, ближайшая станция метро, график работы на неделю, все фото офиса, картинка «Как доехать») и 5 атрибутов для фильтров (по городу, региону, наличию терминала оплаты, по приему наложенного платежа, наличию примерочной, по максимальному весу, который можно отправить).
Вот такие новости.
Я установил плагин, но так и не смог его настроить. Помогите разобраться, пожалуйста.
Проблема 1. В мануале написано, что должен быть файл ru.php, но такого файла нет.
Проблема 2. В поле ввода "Регион" нет ни одного варианта для выбора.
Проблема 3. Не работает расчет доставки.
Я создал 3 метода доставки:
В резальтате, плагин всегда выдает следующее сообщение:
Нет доступных методов доставки. Пожалуйста, перепроверьте указанный вами адрес или свяжитесь с руководством сайта для получения поддержки.
Несмотря на то, что я указал городом отправления Москву, а город доставки ввел в поле "город" в форме доставки, в логах фиксируются следующие ошибки:
[7] => Не задан город-отправитель [8] => Не задан город-получатель
Конфиг:
– Установлен свежий WooCommerce и платный темплейт Savoy.
– Локализация через Loco Translate.
– Плагин WooCheckout для сокрытия ненужных полей в форме оформления заказа (пробовал как с ним, так и без него – в обоих случаях не работает).
Здравствуйте!
Ни в админке (поле Город отправитель), ни в пользовательской части (поле Область/регион * при чекауте) не работает поле выбора города. Нет доступных вариантов, нет возможности сохранить набранное значение - все время No results found. С чем это может быть связано?
Версия WC: 3.0.1
Версия WP: 4.7.3
Версия Вордпресс 4.6.6.
Версия Woocommerce 2.5.5.
Версия плагина 1.4.0.
Плагин при активации и настройке просто отключает корзину, ничего не показывает в ней. Как только деактивируется плагин - все встает на место. Помогите разобраться.
Ситуация такая.
Добавил 20 единиц одинакового товара в корзину для проверки.
Стоимость одного товара 500 руб. В настройках конкретно этого товара стоит вес 0.12 kg, габариты 4x4x15 cm.
Мой магазин располагается в Санкт-Петербурге, доставку планирую в Таганрог.
Вышло: стоимость самих товаров 50020 = 10,000 руб. (Ну и вес был бы 0.1220 = 2.4 кг.)
А вот со стоимостью вариантов доставки загвоздка получилась. Помимо установленного мною самовывоза там три варианта доставки через СДЭК:
Ради интереса на сайте СДЭК в калькуляторе расчета стоимости (edostavka.ru/calculator.html) вбил те же данные:
Откуда: Санкт-Петербург; Куда: Таганрог;
Параметры. Вес (в кг): 2,4; Габариты ДхШхВ (в см): 16х15х20 (тут простая арифметика, я считал, представив все товары сложёнными вместе, вышел эдакий параллепипед с такими длинами рёбер).
Выпал список на 5 услуг. Самая дешёвая - Экспресс лайт склад-склад за 700 руб. А самая дорогая - Супер экспресс до 18 за 1230 руб.
Я не понимаю, в чем дело. Всё вроде бы настроено верно и в товаре, и в доставке, и в Woocommerce..
Что подскажите делать? Обращаюсь ко всем пользователям, а также к @kalbac, многоуважаемому создателю такого наипрекраснейшего и полезнейшего решения.
Очень прошу помощи.
Сегодня с утра СДЭК обрадовал свежим варнингом
Можете подсказать как вылечить или тут со стороны сдэка и проблема временная?
Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /var/www/waxamanager/data/www/waxashop.ru/wp-content/plugins/wc-edostavka/wc-edostavka.php on line 174
Warning: simplexml_load_string(): Unable to connect to database server! in /var/www/waxamanager/data/www/waxashop.ru/wp-content/plugins/wc-edostavka/wc-edostavka.php on line 174
Warning: simplexml_load_string(): ^ in /var/www/waxamanager/data/www/waxashop.ru/wp-content/plugins/wc-edostavka/wc-edostavka.php on line 174
Коллеги, возник глюк в модуле CDEK едоставка. При просмотре подробносей о заказе в пункте CDEK ПВЗ вылезает такое вот сообщение:
Fatal error: Call to a member function get() on null in /home/********/public_html/wp-content/plugins/wc-edostavka-1.3.7/wc-edostavka.php on line 133
Сам по себе модуль работает корректно. В чем может быть подвох? помогите пожалуйста починить =(
Всем доброго дня!
Поставил плагин, всё настроил, но при указании любого города доставки перерасчет не происходит. Остается из отправителя (Москва) в туда же. Соответсвенно карта ПВЗ тоже только Московская. Смотрел логи, город получателя всё время один. [receiver_city] => 44. Что делать, куда пинать, какие файлы/поля/настройки? Очень надеюсь на помощь.
@kalbac пжлст отзовись
Протестировано с версиями WP 3.9 и 4.5.x и Wocommrce 2.4.x и 2.0.x и 2.6.x, с использованием разных сторонних плагинов. Увы ни на одной из версий плагин так и не заработал, на старом WC просто завалил весь сайт, до 500 ошибки сервера, а на новом - фроентенд не показывает как метод доставки. Вообще.
Понятно, что в readme указано, что на чистом WC все должно работать. Но кто же использует только чистый WC без доп плагинов и со стандартной темой? Да никто.
Увы, насколько объяснил автор, поддержка плагина и выпуск багов прекращен вследствие того, что СДЕК прекратил оплачивать эти услуги.
Очень жаль, чуть ли не единственная коммерческая доставка для WC в виде плагина-расчета.
При активации плагина Local Pickup Plus, и попытки зайти в его настройки получаем следующее
Fatal error: Uncaught Error: Call to a member function get() on null in /.../wp-content/plugins/wc-edostavka/wc-edostavka.php:134
Stack trace: #0 /.../wp-content/plugins/wc-edostavka/wc-edostavka.php(350): WC_Edostavka::get_chosen_shipping_method() #1 /.../wp-content/plugins/wc-edostavka/wc-edostavka.php(307): WC_Edostavka->is_stock_tariff() #2 /.../wp-includes/class-wp-hook.php(298): WC_Edostavka->default_address_fields(Array) #3 /.../wp-includes/plugin.php(203): WP_Hook->apply_filters(Array, Array) #4 /.../wp-content/plugins/woocommerce/includes/class-wc-countries.php(607): apply_filters('woocommerce_def...', Array) #5 /.../wp-content/plugins/woocommerce/includes/class-wc-countries.php(972): WC_Countries->get_default_address_fields() #6 /.../wp-content/plugins/woocomme in /.../wp-content/plugins/wc-edostavka/wc-edostavka.php on line 134
Куда копать?
Здравствуйте!
Подскажите почемуто плагин не отображается в списке методов доставки на странице корзины /cart/ ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.