[ms_cdek2] - Пункты самовывоза
За спонсирование обновления спасибо Алексею.
Всем привет! Вышло большое обновление компонента, которое многие ждали и просили, исправлено множество косяков, ну а главная тема — это конечно же пункты самовывоза.

Главные «фишки» обновления:
выборами президента и инфляции как только обкатается обновление на рабочих проектах цена компонента повысится на 300р-500р, по этому если вы еще думаете приобретать компонент или нет, советую сделать это в ближайшем будущем :)
Приобрести компонент по цене 990р
Демо-сайт
Ну а теперь к инструкции по установке и скриншотам:
Настройка пунктов самовывоза:
За пункты самовывоза отвечает сниппет cdekDeliveryPoints
Он принимает несколько параметров:
Пример вызова:
Если вы хотите, чтобы выбранный адрес самовывоза записывался в админку, то в форму заказа (id=«msOrder») добавьте input:
Тогда после оформления заказа, если пользователь выбрал пункт самовывоза он будет записан в админку:

Вы также можете использовать его в письме пользователя.
Внимание! Поле динамическое и появляется только тогда, когда пользователь выбрал доставку, в противном случае вы его не увидите!
Всем привет! Вышло большое обновление компонента, которое многие ждали и просили, исправлено множество косяков, ну а главная тема — это конечно же пункты самовывоза.

Главные «фишки» обновления:
- Стандартное оформление не зависит от бутстрапа
- Самовывоз можно включить только для определенных методов доставки
- Пункты самовывоза работают изолированно, т.е. если выбран метод не сдэк, или город не содержит информации о пунктах самовывоза — карта удаляется
- Выбранный пункт самовывоза записывается в заказ
- Поле самовывоза в админке динамическое и появляется только в случае если покупатель действительно выбрал пункт
- Поле расширяет msOrderAdress, по этому доступно везде, где ведется работа с заказом, от писем пользователю/менеджеру, до msGetOrder
- Переписана добрая часть фронтенда, доработан автокомплит
Приобрести компонент по цене 990р
Демо-сайт
Ну а теперь к инструкции по установке и скриншотам:
Настройка пунктов самовывоза:
За пункты самовывоза отвечает сниппет cdekDeliveryPoints
Он принимает несколько параметров:
- cityid — id города по таблице сдэк (если вы хотите вывести пункты самовывоза только одного города)
- citypostcode — почтовый индекс города (если вы хотите вывести пункты самовывоза только одного города)
- tpl — чанк оформления вывода, по умолчанию используется стандартный cdek2.getpvz
- deliveryids — id способов доставки для которых нужно выводить пункты самовывоза через запятую (по умолчанию выводится для всех)
Пример вызова:
<div id="cdek2_map_ajax">
{'!cdekDeliveryPoints' | snippet}
</div>В чанк приходит множество переменных по умолчанию используется лишь малая часть, вы можете оформить вывод пунктов самовывоза как вам угодно, перед использованием настоятельно рекомендую посмотреть все переменные{$pvz | print}Если вы хотите, чтобы выбранный адрес самовывоза записывался в админку, то в форму заказа (id=«msOrder») добавьте input:
<input type="hidden" name="point">Тогда после оформления заказа, если пользователь выбрал пункт самовывоза он будет записан в админку:

Вы также можете использовать его в письме пользователя.
Внимание! Поле динамическое и появляется только тогда, когда пользователь выбрал доставку, в противном случае вы его не увидите!
Комментарии: 47
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
либо Telegram
либо Вконтакте
1) Создавайте способ оплаты «Наложный платеж» и все :) Компонент не отправляет данные в сам сдэк, все отправления нужно делать вручную
2) Я не много работал с api сдэка касаемо api личного кабинета, да и желающих предоставить доступы для отладки работы с api нет, по этому не совсем знаю механизм на счет которого вы спрашиваете. В случае договора со сдэком цены на тарифы которые добавляются с компонентом (они все есть на демо-сайте) будут такие же, как в личном кабинете
3) Что вы подразумеваете под своими ценами? Если дополнительную цену к расчету — да, поле «дополнительная цена» полностью работает как в % так и в цифрах, если же это связано с ценами на тарифы то ответ в пункте 2
Если вдруг список методов доставки который идет в комплекте вас не устраивает — вы можете добавить свои методы доставки. Заходим в дополнение console и вставляем вот такой код
смотрим массив «tarifs», ключ массива — это id метода доставки (его смотрим тут документация по api калькулятора), значение — название метода
Можно сделать так, чтобы город нормально отрабатывал, если его ввести самому, а не выбирать в выпадающем списке?
А то если поменять город не выбирая из списка. Карта обновляется, но не меняется, цена остается прежней.
Модуль не понимает, что я изменил город и показывает мне данные предыдущего.
===
К тому же обновляет данные с задержкой.
Если быстро переключать виды доставок, то итоговая цена «запутается»
К примеру быстро пощелкал и доставка за 590 рублей превратилась в доставку за 840.
joxi.ru/L21WDQ3t88kJNr
joxi.ru/brRe0JdtJJq1WA
Не знаю как она записывается, но там можно наколдовать всякого…
Если будет только один тариф от сдек думаю будет норм, но на демо-сайте все очень легко ломается.
2) У меня не получилось поломать, представляете?) Вот сколько бы не тыкал, не ломается) И да, за переключение способов доставки отвечает не мой модуль, а minishop2
2) А вот у меня с ума сходит очень легко) К тому же если тыкать быстро между доставками, они входят в какой-то цикл и бесконечно вылезают сообщения) joxi.ru/DmBJ3y7Uwwnpbm
Ну да ладно, хоть меня немного беспокоит этот баг с ценой, клиентам обычно не нужно столько видов доставки, они ограничиваются 1 или максимум парой тарифов.
Да, повторил я ваш баг, связан он с множественными ajax запросами, в следующем обновлении добавлю прелоадер при смене метода доставки, тогда система просто не даст пользователю сменить метод пока не был рассчитан предыдущий
При заказе не одного товара, а нескольких единиц товара, каким образом идет перерасчет цены за доставку? Надо вводить какие-то параметры (ш*в*д) или просто идет привязка к единице, т.е. мы не можем задавать разному товару, разные параметры.?
Например мы продаем товар коробками. Для каждого товара мы задаем параметры веса, размеров.
Если кто то покупает две единицы товара (то есть две коробки) стоимость доставки будет пересчитана?
объем * кол-во (если включена опция расчета габаритов)
Вес * кол-во
Это я в вам в телеграм пишу, жду когда время найдете и денег сколько скажете…
1. Вызов и скрытие карты выбора ПВ СДЕК
3. Объем корзины новая формула
4. корзина капитально блокируется… при попытке расчитать сдек с несуществующим индексом
… И по ПикПоинт помощь нужна…
когда время будет у вас уделите плз мне его. Пусть не срочно, просто сами ответьте плз когда будет время.
Сразу готов платить 5-ку, вам там осталось на пару часов. Месяц могу ждать, вобщем свяжитесь плз когда время будет
//Пункт само-вывоза
в форме id=«msOrder», но в админке так и не появляется поле пункта самовывоза,
в письме все отправляется, а в админке нету (
В чем может быть проблема?
как я понимаю, нужно объединить core/components/ms_cdek2/model/ms_cdek2/msCDEK_handler.class.php и это решение modx.pro/help/6159
Возможно ли округление суммы итоговой, чтобы не получались копейки?
Подскажите как исправить?
Подскажите, пожалуйста!
Кроме подключения Jquery-библиотек, вставки на страницу заказа вызова сниппета [[!ms_CDEK2]] что ещё не необходимо в обязательном порядке сделать, чтобы карта выбора ПВЗ СДЭК отобразилась на странице? Всё проделал из этого перечня, но не отображается.