Плагин "Курьер" Есть решение

Всем доброго дня и хорошего настроения. Необходима помощь в настройке плагина с помощью php. Изменяю стандартный плагин "Курьер".

Для стороннего API мне необходимо получить с формы ( город, вес, способ доставки - экспресс, стандарт)

Подскажите пожалуйста как использовать (найти) переменную общего веса и способа доставки (экспресс, стандарт).


7 ответов

  • 1

    1. внутри плагина

    $this->getTotalWeight()

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

    • +1
      Руслан - Руслан - 17 сентября 2017 07:29 #

      Спасибо за ответ, но не помогает.

      1) весь подсчет у меня идет в функции calculate.

      $price = $this->parseCost($rate['cost']) + /*$result*/ $this->getTotalWeight(); - не просчитывает вес.

      2) Использую стандартный плагин "Курьер" там есть выпадающий список :

      - стандартная доставка

      - экспресс доставка

      Как можно получить эти переменные? Если можете подсказать где можно найти переменные из форм ?

      Пытался использовать gettotalweight(), но через waShipping::gettotalweight();

      Заранее благодарю за ответ

      • +1

        `getTotalWeight()` возвращает вес. В единицах, которые возвращает `allowedWeightUnit()`. Может у товаров вес не указан? Также непонятно, зачем вес со стоимостью складывать, но это уже ваше дело

        не вижу, где в штатном плагине есть настройка стандартная/экспресс

        Из каких форм?

        • +1
          Руслан - Руслан - 17 сентября 2017 10:57 #

          Вес у товаров указан. Складываю вес со стоимостью что бы вывести число на экран ($cost вместе echo))), и получает ли переменная какие либо значения. В итоговом варианте мне нужно получить вес что бы передать его в API курьерской службы. Хотелось бы реализовать через выбор формы (стандарт, экспресс).

          • +2

            "Способ доставки" -- это у вас нештатное поле адреса? Можно получить значение по ID поля

            $this->getAddress('sposob_dostavki'); // или какой-то другой ID поля
            • +1
              Руслан - Руслан - 18 сентября 2017 09:38 #

              Извините за постоянные вопросы, подскажите пожалуйста где я могу найти название, id или саму форму на сервере? Пытался найти в customFields там нету.

              • +1

                Через getAddress вы можете получить значение поля адреса, которое пользователь настроил сам в Магазин→Настройки→Оформление заказа→Контактная информация

                Из cutomFields вы сами формируете поля, которые нужны вашему плагину. Нужно вернуть массив похожий на тот, что в настройках плагина (settings.php). Учтите, что эти поля будут доступны только при оформлении заказа во фронтенде, при оформлении менеджером в бэкенде они не отображаются :-( . Пока во всяком случае.

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

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