Добавить поле в оформление заказа с помощью плагина доставки

Вечер добрый!


Подскажите, пожалуйста, можно ли при установке плагина доставки автоматически создать новое поле в оформлении заказа? Допустим, добавить поле "Номер склада"? Перерыл весь форум и бесплатные плагины, ответ на вопрос так и не нашел.


Заранее спасибо!

1 ответ

  • 1

    чтоб пользователь выбрал на этапе доставки? можно

    P.S. Прежде чем "рыть форум" и бесплатные плагины доставки, можно документацию почитать, например

    • +1

      Не подскажите каким образом?

      Документацию так же перечитал, решение не нашел. Ткните, пожалуйста, ссылочкой?

      • +1

        Хотя нет. В доке это не описано.

        Смотрите родительский класс waShipping на предмет метода customFields(). И в rquestedAddressFields() его укажите.

        Предупреждаю сразу: установить его можно только из фронтенда. При оформлении или редактировании в бэкенде ничего не будет.

        • +1

          Спасибо за ответ. Это очень плохо, в бэкенде так же необходимо иметь данное поле.

          • +2

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

            И в бэкенде при просмотре заказа будет показано ID поля, а не название.

            Все собираюсь доработать это и вебассисту предложить, но руки не доходят

          • +1

            Я тут подумал, как вариант, можете попробовать вручную создать поле адреса "склад" в настройках, а в плагине его требовать в requestedAddressFields(). Может сработать.

            Не факт, что при редактировании заказа в бэкенде оно будет, но чем черт не шутит :)

            • +1

              Да, так работает, уже пробовали. И при редактировании в бэкенде оно есть. Но вся проблема в том, что необходимо поле создать автоматически. Иначе придется объяснять незнающим людям, что необходимо предварительно вручную создать поле "склад".

              • +1

                Ну, в магазин такое не возмут, но для личного пользования или для клиента вполне можно сделать.

                Создавать поле автоматом тоже можно. Вернее надо будет проверять его наличие и создавать при отсутствии.

                • +1

                  Не подскажите в каком направлении двигаться? Спасибо

                  • +1

                    Именно поле адреса, не создавал. Создавал поле контакта. В плагине Магазина, при установке, отрабатывается скрипт install.php. В плагине доставки такого нет. Можно впихнуть проверку в метод, который вызывается перед показом настроек — getSettings() или initControls().

                    Вот так в плагине магазина в Install.php создавал поле контакта:


                        $member_card_field = new waContactStringField(
                                shopPrivclubPlugin::MEMBER_CARD_NUMBER_FIELD,
                                array('en_US'=>'Member Card Number', 'ru_RU'=>'Номер клубной карты'),
                                array('app_id' => 'shop')
                        );
                    
                        waContactFields::updateField($member_card_field);
                        waContactFields::enableField($member_card_field, 'person');    
                    

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

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