Разработка плагина расчет доставки, вопрос2:
сайт где можно посмотреть http://ss.delivery-management.ru/
При оформлении заказа мне нужно сохранить доп поля, к заказу - где будут габариты товара по которому был расчет, коммент по доставке который выводится тут (пункт 1) http://joxi.ru/DmBN9qdhNZPw9m так как выводить (в пункте 2) - не вариант все очень длинно получается! А значение (пункта 1) я могу получить только при выборе пользователей подругому никак иначе никаких ИД не существует, и базы откуда я могу выцепить ранее введенные джанные!
Каких либо хуков оформления заказа который можно использовать в классе доставки не нашел
Решил таким образом:
с помощью метода customFields в плагине доставки добавил скрытые поля waHtmlControl::TEXTAREA, но они почему то имеют ограниченную длину при записи в БД, поэтому сделал не сколько полей!
Ну и вобщем при расчете стоимости, габариты по которым выполняется расчет пишутся в одно из скрытых полей, далее при выборе в оформлении корзины способа доставки, на (пункт 2) http://joxi.ru/DmBN9qdhNZPw9m повещен обработчик события ява - он пишет коммент (пункт1) http://joxi.ru/DmBN9qdhNZPw9m выбранного способа в наше второе скрытое поле.
ну и после оформления заказа, в заказе в доп полях - все данные что мне надо!
Мне кажется это как то криво, есть другие решения данной задачи?
11 ответов
дать владельцу магазина настроить размер упаковки, который используется в его магазине. все равно характеристику габаритов вам неоткуда брать
Это все понятно, но это не гибко, не могут быть все товары иметь одинаковые размеры, а если это также выносить в хар-ки то это теже габариты, вопрос остается как все это записать в доп поле заказа? при оформлении? (не как в описанно моем решении)
Мне надо после оформления заказа - в заказе в доп поле это все разместить, чтоб владелец магазина после того как получит заказ, знал с какими параметрами расчитана доставка, а не искал габариты и считал сам!
Как я могу записать данные в доп поле заказа, для выбранной доставки? както иначе чем я описал могу?
Хотите дать пользователю самому выбрать размер упаковки? Ну он всегда будет указывать минимальный указывать
Плагин расчета доставки ничего не знает про "товары" (может, это и не товары вовсе). У него из исходных данных есть поля адреса, вес отправления и стоимость.
Проблема с customFields в том, что задать значение для них можно только во фронтенде. Менеджер, оформляющий/редактирующий заказ изменить значение этого поля не сможет
изменять ничего и не надо в админке менеджеру!
Габариты заполняет тоже менеджер для каждого товара а не покупатель, вы видимо не поняли!
Скрытые поля передаются в заказ как доп инфа для менеджера, эти поля покупатель не заполняет - они скрытые!
В планах по развитию интеграции со службами доставки есть задача по передаче и расчету габаритных параметров заказа (в дополнение к весовым), но в общем случае это не всегда доступные данные (в контексте магазина надо заполнять данные о габаритах) и не всегда правильно можно рассчитать (задача плотной упаковки)
это хотел с вами обсудить.
хорошо бы вообще передавать любые параметры. чтоб плагин мог объявить id параметров, которые он хотел бы получать. В настройках можно было бы настроить соответсвие с характеристиками items приложения (товары или еще что) и метод доставки проверял бы id характеристик и по возможности передавал бы их в плагин. Только не знаю, видимо информацию о типе характеристики и единицах измерения не удастся передать.
Вообще еще бы надо над customFields поработать. У плагинов оплаты они в бэкенде работают, а у доставки нет. Хотя, конечно, проблема того, что сейчас туда многие пихают левый js-код, который потенциально будет конфликтовать с js-контроллером бэкенда, понятна :(
И, Владислав, пожалуйста, обратите пристальное внимание на тикет 1348111 это реальная дырка, я поэтому не стал ее в открытый доступ выкладывать. Но она время от времени используется, я ее использование в настоящих заказах видел.
С размерами будет скорее всего так же как и с весом: плагин отдает данные о потребной размерности, приложение переводит (по возможности) в эту размерность и отдает только числа.
С остальными характеристиками, что может запрашивать плагин тоже можно придумать соответствующую обобщенную настройку (ближайший похожий интерфейс - настройка соответствий полей и источников данных в плагине экспорта Яндекс.Маркет). Как я догадываюсь - это различные признаки вроде Хрупкое, Стекло, Горючее, и т.п. или я ошибаюсь?
*Тикет просмотрел, вздохнул
еще на вопрос, который сам вопрос темы ответьте!
Покупатель ничего не заполняет в доп поля, мне надо доп полями к заказу прицепить расширенную инфу по доставке! Просто для инфы!
сделайте customField типа hidden. Не забудьте экранировать кавычки
сомневаюсь, что эту инфу кто-то увидит
вроде с поля hidden html код сохраняется не верно, вроде я пробывал!
Я выше написал что решил проблему через waHtmlControl::TEXTAREA ну естественно это поле скрытое, но вопрос звучит как только так другого варианта нет? мне кажется это плохой способ!
даже использование hidden считаю плохо!
Объем может быть указан числом, а может габаритами ДxШxВ Ж(
Да. Некоторые службы доставки либо наценку делают на определенный тип груза, либо вообще отказываются доставлять: хрупкое, жидкое, жидкое-воспламеняющееся (вариант спиртосодержащее), флаконы под давлением (на них либо авиазапрет, либо только грузовым самолетом). Плюс у разных стран есть разные ограничения на содержание посылок. Много куда например парфюмерию отправить не удастся — таможня завернет.