Разработка плагина расчет доставки, вопрос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 ответов

  • 1

    дать владельцу магазина настроить размер упаковки, который используется в его магазине. все равно характеристику габаритов вам неоткуда брать

    • +1
      pav-pas pav-pas 15 апреля 2016 06:04 #

      Это все понятно, но это не гибко, не могут быть все товары иметь одинаковые размеры, а если это также выносить в хар-ки то это теже габариты, вопрос остается как все это записать в доп поле заказа? при оформлении? (не как в описанно моем решении)

      Мне надо после оформления заказа - в заказе в доп поле это все разместить, чтоб владелец магазина после того как получит заказ, знал с какими параметрами расчитана доставка, а не искал габариты и считал сам!

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

      • +1

        Хотите дать пользователю самому выбрать размер упаковки? Ну он всегда будет указывать минимальный указывать

        Плагин расчета доставки ничего не знает про "товары" (может, это и не товары вовсе). У него из исходных данных есть поля адреса, вес отправления и стоимость.

        Проблема с customFields в том, что задать значение для них можно только во фронтенде. Менеджер, оформляющий/редактирующий заказ изменить значение этого поля не сможет


        • +1
          pav-pas pav-pas 15 апреля 2016 07:20 #

          изменять ничего и не надо в админке менеджеру!

          Габариты заполняет тоже менеджер для каждого товара а не покупатель, вы видимо не поняли!

          Скрытые поля передаются в заказ как доп инфа для менеджера, эти поля покупатель не заполняет - они скрытые!

      • +1

        В планах по развитию интеграции со службами доставки есть задача по передаче и расчету габаритных параметров заказа (в дополнение к весовым), но в общем случае это не всегда доступные данные (в контексте магазина надо заполнять данные о габаритах) и не всегда правильно можно рассчитать (задача плотной упаковки)

        • +1

          это хотел с вами обсудить.

          хорошо бы вообще передавать любые параметры. чтоб плагин мог объявить id параметров, которые он хотел бы получать. В настройках можно было бы настроить соответсвие с характеристиками items приложения (товары или еще что) и метод доставки проверял бы id характеристик и по возможности передавал бы их в плагин. Только не знаю, видимо информацию о типе характеристики и единицах измерения не удастся передать.

          Вообще еще бы надо над customFields поработать. У плагинов оплаты они в бэкенде работают, а у доставки нет. Хотя, конечно, проблема того, что сейчас туда многие пихают левый js-код, который потенциально будет конфликтовать с js-контроллером бэкенда, понятна :(

          И, Владислав, пожалуйста, обратите пристальное внимание на тикет 1348111 это реальная дырка, я поэтому не стал ее в открытый доступ выкладывать. Но она время от времени используется, я ее использование в настоящих заказах видел.

          • +1

            С размерами будет скорее всего так же как и с весом: плагин отдает данные о потребной размерности, приложение переводит (по возможности) в эту размерность и отдает только числа.

            С остальными характеристиками, что может запрашивать плагин тоже можно придумать соответствующую обобщенную настройку (ближайший похожий интерфейс - настройка соответствий полей и источников данных в плагине экспорта Яндекс.Маркет). Как я догадываюсь - это различные признаки вроде Хрупкое, Стекло, Горючее, и т.п. или я ошибаюсь?

            *Тикет просмотрел, вздохнул

            • +1
              pav-pas pav-pas 15 апреля 2016 08:29 #

              еще на вопрос, который сам вопрос темы ответьте!

              Покупатель ничего не заполняет в доп поля, мне надо доп полями к заказу прицепить расширенную инфу по доставке! Просто для инфы!

              • +1

                сделайте customField типа hidden. Не забудьте экранировать кавычки

                сомневаюсь, что эту инфу кто-то увидит

                • +1
                  pav-pas pav-pas 15 апреля 2016 08:54 #

                  вроде с поля hidden html код сохраняется не верно, вроде я пробывал!

                  Я выше написал что решил проблему через waHtmlControl::TEXTAREA ну естественно это поле скрытое, но вопрос звучит как только так другого варианта нет? мне кажется это плохой способ!


                  даже использование hidden считаю плохо!

            • +1

              Объем может быть указан числом, а может габаритами ДxШxВ Ж(

              Да. Некоторые службы доставки либо наценку делают на определенный тип груза, либо вообще отказываются доставлять: хрупкое, жидкое, жидкое-воспламеняющееся (вариант спиртосодержащее), флаконы под давлением (на них либо авиазапрет, либо только грузовым самолетом). Плюс у разных стран есть разные ограничения на содержание посылок. Много куда например парфюмерию отправить не удастся — таможня завернет.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите