доставку и оплату на страницу контактной информации (-2 шага при офрмлении заказа)

Здравствуйте.

собственно в заголовке мой вопрос.

мне надо выбор доставки и оплаты перенести на страницу ввода контактной информации, чтобы в итоге заказ оформлялся в два шага (три с корзиной)

перенести код из checkout.shipping и checkout.payment в checkout.contactinfo - это понятно, а что ещё надо сделать, чтобы заказ успешно оформлялся при таком раскладе?

тоже наверняка кто-то делал уже, но здесь на хабе поддержки не нашёл пока решения.

7 ответов

  • 1

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

    Воспользуйтесь этим плагином. Сэкономите много времени.

    P.S. Автор плагина не я. :)

  • 1
    Евгений Дубровин 9 апреля 2016 08:51 #

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

    а плагин я видел конечно, но мне надо не на одной странице, а именно на трёх. кроме сохранения классов при вёрстке что ещё надо учесть?

    • +1

      обработку responseCallback и ответ от плагинов, считающих доставку через удаленный сервер — запрос на расчет к таким плагинам (у них признак external есть) отправляется после показа страницы. Ответ с вариантами доставки и ценами обрабатывается функцией, которая в в шаблоне chckout.shipping.html определена. Успешный показ ответа привязан к верстке методов доствки (элементам h3/h5, классам (hint, error).

      Плагины доставки могут спрашивать адрес, если он не полностью введен. при выборе такого метода показывается скрытый div с полями адреса. При изменении меняется адрес у всех методов доставки и все external пересчитываются

      • +1
        Евгений Дубровин Евгений Дубровин 9 апреля 2016 09:29 #

        спасибо! но я ведь могу из checkout.shipping всё, что там нужно (обрабатывающую функцию тоже) перенести в checkout.contactinfo ? и всё, что надо, обрабатывать на одной странице (ввода контактной информации) со всеми фичами с дополнением адреса ит.п., или, действительно всё так непросто, что лучше воспользоваться плагином? дело в том, что мне надо именно на трёх страницах оформление заказа, а не на одной как в плагине.

        • +1

          А тоже тонкость есть. Этапы shipping и payment надо будет также ajax'ом подгружать. Причем желательно при этом как-то проверять правильность запонения "предыдущих" этапов, блокировать выбор доставки если адрес не заполнен, блокировать выбор оплаты, если доставка не выбрана. :-|

  • 1
    Евгений Дубровин 9 апреля 2016 09:15 #

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

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

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