Зависимость полей, способов доставки/оплаты от города покупателя

Просветите, плиз по такому вопросу.

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

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

Если покупатель выбрал курьера, то нужны адрес доставки, время, телефон, емейл (опционально), его фамилия не нужна, даже поле такое не нужно.

Если это Межгород, то нужны и фамилия и имя и адрес и другие поля.

Т.е. если покупатель из моего города, то ему надо показать доступные способы доставки для моего города (Самовывоз, Курьер, точки выдачи) + поля, которые надо заполнить в зависимости от выбранного способа доставки.

Если покупатель из другого города, то ему тоже надо показать только те способы доставки, которые доступны в его город (Почта, ЕМС и тд) + + поля, которые надо заполнить в зависимости от выбранного способа доставки.

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

По дефолту, город покупателя - это поле в контактной информации. И контактную инфу можем поставить либо ДО выбора способа доставки, но тогда покупателю показываем кучу ненужных полей для заполнения, либо ПОСЛЕ, что тоже не подходит, т.к. если мы не знаем города, то показываем ему кучу ненужных способов доставки.

Можно ли решить этот вопрос типовыми методами? Или есть нужный плагин, пусть платный? Или плагина нет, но такую штуку можно реализовать именно в виде плагина? Или плагин невозможен, надо лезть в ядро и тогда обновления давайдосвидания?

Крупные магазины сейчас спрашивают на первом шаге: ваш город такой-то? И уже в зависимости от этого показывают нужный контент. Но, у меня вопрос только о контенте на странице оформление заказа.

19 ответов

  • 1
    Семен Семеныч 9 ноября 2017 16:38 #

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

    Внутри одного города тоже разные поля нужны. Для самовывоза одни, для курьера другие.

    Т.е. поля скрываются в зависимости от региона, а не в зависимости от способа доставки.

    скрываем ненужные покупателю поля на стадии ввода контактной информации при оформлении заказа в зависимости от его текущего местоположения.

    Написал разработчику.

  • 1
    Семен Семеныч 9 ноября 2017 16:14 #

    Ну так то да, судя по описанию это то что надо.

    Спасибо.

    ПС: как решение пока не отмечаю, т.к. надо попробовать в действии. Позже обязуюсь отписаться здесь.

  • 1
    Семен Семеныч 13 ноября 2017 12:02 #

    Приобрел плагин.

    Не все так гладко, как предполагалось изначально. Сам по себе плагин работает как и задумано разработчиком. Но, в сочетании с логикой работы самого Шоспскирта и плагинов доставки получается ерунда:

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

    И если покупатель выбрал что-то типа: Регион Курганская область, город Санкт-Петербург, то скрипт выдает непредсказуемый результат (а это запросто, т.к. город вводится независимо от региона да еще и руками). Т.е. город и регион по логике разработчиков ШС - это 2 независимые друг от друга сущности.

    Если, для корректной работы плагина, мы ставим выбор региона до ввода данных адреса для доставки, то покупателю показывается для выбора только регион, без города. Но, без города не работают многие способы доставки. Т.е. на этапе доставки не показываются стоимости доставок, т.к. не указан город. А в многих модулях доставок выбор города делается не на этапе выбора доставки, а на этапе ввода контактных данных, ДО перехода на этап выбора способов доставки, например, плагин ЕМС.

    А если выбор И города И региона поставить ДО выбора способов доставки, то это путает покупателей: человек из СПб, хочет заказать самовывозом, а ему предлагается выбрать какой-то регион, потом руками ввести какой-то город (да еще и без ошибки это надо сделать). Люди не понимают что такое регион и что такое город. Есть г. СПб и всё, для них нет такого региона СПб (в сознании простого человека).

    Вообще, это, конечно упущение разработчиков ШС: выбор местоположения юзера должен быть самым первым шагом в оформлении заказа. От этого зависит всё: и оплата и доставка и поля которые показываем юзеру, и обязательность полей.
    А разделение полей на Регион и Город это вообще глупость. Не бывает города без региона, это одна сущность. Зачем их разделили, непонятно.

    • +1

      Бывают страны без регионов. В Shop-Script во всяком случае. Да и при чем тут город. Обычно США+Канада -- одна цена, все страны Европы -- другая, по РФ зависит от региона. Ну может от города иногда.

  • 1
    Семен Семеныч 13 ноября 2017 12:08 #

    В итоге, вопрос остается открытым: можно ли объединить регион и город в одно поле, и чтобы при этом осталась работоспособность плагинов доставки? Или тогда надо дорабатывать и способы доставки?

    И можно ли вынести местополжение самым первым шагом при оформлении заказа, но, при этом контактные данные запрашивать уже ПОСЛЕ выбора способы доставки (т.к. при определенных способах многие данные просто не нужны)?

    ПОнятно, что в типовом варианте этого не сделать. Плагинов таких тоже нет, но можно ли это сделать хотя бы вообще плагином чтобы не пилить ядро?

    • +1

      Мы реализовали похожую на вашу задачу иным образом. В первую очередь клиент в заказе вводит свой город, на поле город висит автоподстановка. То есть если даже будут одноименные города, например, Железногорск, то человек вводит "жел" и ему сразу предлагаются варианты "Железногорск (Курская обл.)" и "Железногорск (Красноярский край)", если одноименных городов нет, то область не уточняется. Далее поля Регион, Страна и Город во всех способах доставки заполняются автоматически и скрыты от пользователя. За счёт чего оформление заказа становится проще и клиент сразу видит стоимости разных способов доставки, так как он уже фактически выбрал город и регион (регион выбрался автоматически). Готовы рассказать подробнее и реализовать подобную задачу.

  • 1
    Семен Семеныч 13 ноября 2017 15:41 #
    Бывают страны без регионов США+Канада -- одна цена, все страны Европы -- другая

    Вполне возможно, что бывают и без регионов.
    Но, к чему это? Тем более про США и Канаду. Если кто-то делает магаз под США и Канаду, то под буржунет есть более адаптированные CMS.

    Я пишу про то, что покупатель выбирает свой населенный пункт. А ему вместо этого предлагается выбрать сначала регион, а потом руками вбить город. И даже не выбрать, а вбить руками. Если не вбить, то не все плагины предлают это сделать на странице доставки, они просто показывают, что без города не могут расчитать стоимость доставки и при нажатии на этот способ доставки не предлагают ввести нас. пункт, т.к. там предусмотрено, что нас. пункт вбивается на предыдущем шаге. Например ЕМС.

    Да и в плагинах доставки нет полей, которые запрашивать для расчета, это определеяется кодом самого плагина, т.е. админ не может даже это установить самостоятельно. Не может поставить обязаельно/необ и тд.

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

    Или я не прав?

    Или как Вы представляете себе покупателя из Москвы. И магазин в Мск. А покупателю ПЕРЕД заказом предлагается выбрать регион Москва, город Москва, а потом увидеть способы доставки все в одной куче: и в Норильск, и в МСк. Вы так оформляете заказы в других магазинах?

    ПОнятно, что всё можно допилить, доработать и тд. Если добавление картинок к категориям сделали платным и минимальное к-во товара к заказу тоже платное, то чего уж тут удивляться. В старых версиях всё это было бесплатно, настолько это очевидные фичи.

    • +1

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


      Или как Вы представляете себе покупателя из Москвы. И магазин в Мск. А покупателю ПЕРЕД заказом предлагается выбрать регион Москва, город Москва, а потом увидеть способы доставки все в одной куче: и в Норильск, и в МСк. Вы так оформляете заказы в других магазинах?

      Выибираю регион Москва, город "Москва" и вижу методы доставки для Москвы.

  • 1
    Семен Семеныч 13 ноября 2017 15:50 #

    Или где-то можно настроить какие поля запрашивать при каком способе доставки?

    Вот, еще пример: плагин: Пункты выдачи заказов в регионах

    Он требует указание региона ДО этапа доставки. Т.е. мы не можем запросить адрес покупателя на этапе доставки т.к. плагин в этом случае просто не работает, а должны это сделать самым первым шагом. Плагин просто не предусматривает ввода полей адреса.

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

    • +1

      Если не укажете регион на этапе контактной информации, увидите все методы доставки, подходящие и нет. Укажите регион -- увидите только ПВЗ в своем регионе.

  • 1
    Роман 13 ноября 2017 15:59 #

    Может быть этот плагин поможет!?!?!

    https://www.webasyst.ru/store/plugin/shop/delpayfilter/how-it-works/

  • 1
    Семен Семеныч 13 ноября 2017 16:15 #

    Роман, спасибо.

    Этот плагин не регулирует показ, скрытие, обяз/необяз. полей.
    И все равно, на первом шаге придется спрашивать у покупателя: регион и город. А если не спросить, то плагины доставки не сработают. Регион и город, ну как так? Не бывает города в отрыве от региона, это одна сущность же!

    Я сейчас понял, надо заходить с другой стороны. Надо пилить, в первую очередь плагины доставки, чтобы они запрашивали нужные данные для доставки: если нужна ФИО, то спрашивать и выставлять обязательность полей, не нужна, не спрашивать или делать необязательными. А потом уже ставить все эти фильтры на способы доставки. Кривые именно плагины доставки.

  • 1
    Семен Семеныч 14 ноября 2017 00:03 #

    Не все. Например, способ доставки Фиксированная стоимость требует чтобы на этапе ввода контактной информации переключатель "Форма ввода адреса доставки" был выключен, иначе он не дает выбрать поля с адресом, т.е. он не позволяет выбрать адрес, если в настройках стоит выбирать данные адреса на этапе доставки.

    А если выключить этот переключатель, то перестает работать плагин, который выбирает регион и скрывает ненужные способы доставки.

    Вот такие пироги и несовместимости.


    • +1

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

  • 1
    Семен Семеныч 14 ноября 2017 00:13 #

    И все таки, можно как то на первом шаге запрашивать ТОЛЬКО регион и город? Без личных данных покупателя (телефона, емаила и тд)? А личные данные заполнять уже на этапе доставки.

    Т.е. Регион и Город поставить ДО заполнения полей Контактная информация - Общие поля (имя, фамилия и тд) ?

    Причем так, чтобы покупатель не вводил руками полное название и отдельно регион и город? Чтобы начал вводить город, он автозаполнился и был сразу с регионом: п. Саратовка, Саратовская обл.

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

  • 1
    Семен Семеныч 14 ноября 2017 08:25 #

    Т.е. вот как например в Онлайн Трейде, так не сделать?
    Сначала выводятся доступные для местоположения покупателя способы доставки и только потом требуется заполнить контактную информацию?

  • 1
    Семен Семеныч 14 ноября 2017 08:26 #

    Кстати, в Вебасисите 303 у меня тоже не получилось так сделать, в итоге пришлось пилить сам двиг и отказываться от обновлений. Думал в ШС7 что-то изменилось в этом плане.

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

  • 1
    Семен Семеныч 14 ноября 2017 13:02 #
    За деньги можно, а так -- нет

    Не пиля ядро?

  • 1
    Семен Семеныч 14 ноября 2017 14:52 #
    Не пиля

    Спасибо. Это я и хотел услышать. И за реальный пример тоже спасибо.

    Кстати, именно так мне и надо.

    • +1
      Ольга Ланн Ольга Ланн 1 сентября 2018 21:40 #

      Добрый день! Вы нашли решение? Не могли бы Вы поделиться контактами разработчика? У меня тоже первый шаг это подтверждение/выбор города, и не получается реализовать при переходе на SS. Пятый месяц пошел, а воз и ныне там...olgalann@rambler.ru

      • +3

        Подождите пару месяцев выхода Shop-Script 8. Там будет совсем новое оформление заказа, очень похожее на то, которое вы пытаетесь воплотить

  • 1
    Семен Семеныч 2 сентября 2018 14:15 #

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

    Нет, готового решения не нашел, под себя не стал разрабатывать. В итоге забил на этот вопрос и работаю как это заложено штатной логикой движка.

    • +1
      Ольга Ланн Ольга Ланн 4 сентября 2018 00:15 #

      Спасибо что откликнулись! ...Но ведь былонепросто студия реализовала, работает-же магазин...

  • 1
    Семен Семеныч 2 сентября 2018 20:24 #

    А для перехода на ШС8 новую лицензию надо будет покупать?

    • +2

      Нет. Обновление с 7 на 8 будет бесплатное

    • +2

      Примерно так

      • +1
        replicant replicant 2 сентября 2018 23:07 #

        А версия движка тут причем? Или это пример из будущей темы Дефолт из комплекта с 8-кой?

        • +1

          Новый чекаут будет встраиваться по типу "черного ящика". Как сейчас поля адреса или форма логина. Сразу со всеми своими js и версткой. Что-то типа

          {$checkout_form->show()}

          Возможностей для стилизации станет меньше.

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

          Это примерно как будет выглядеть в 8-й версии.

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

          • +1
            replicant replicant 3 сентября 2018 07:10 #

            Эх, печаль, но идея с табами курьер-самовывоз + слева состав заказа очень клевая. Надо будет такое запилить попробовать в старом чекауте.

            • +2

              Для самовывоза еще будет общая карта, на которую будут выводиться ПВЗ всех плагинов, которые считают доставку до ПВЗ.

              Вот чего тебя на митапе разработчиков не было? Люди из Екатеринбурга, Ростова-на-Дону, Питера приезжали, а из Красногорска поленился? :)

              • +1
                replicant replicant 3 сентября 2018 15:28 #

                Да я как-то даже не в курсе новости был или думал, что не в курсе. Короче проспал всё вкусное. Ну да ничего. Будет ещё шанс пощупать.

              • +1
                Ольга Ланн Ольга Ланн 4 сентября 2018 00:14 #

                О! Это прекрасная новость! Узнавала сколько стоит заказать плагин для апишип (интеграционного сервиса курьерских служб доставки): от 150 000... Я так понимаю, это можно считать аналогом. 

  • 1
    Семен Семеныч 3 сентября 2018 00:04 #

    "подписка на обновления"

    Чего то не видел здесь такого. Где можно почитать?

  • 1
    Ольга Ланн 4 сентября 2018 00:29 #

    Добрый вечер! Спасибо огромное! А можно будет кастомизировать это решение? Выбор города с подсказками можно будет вынести первым шагом? Вы не могли бы взглянуть на мой вариант?

    • +1

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

      Ну как-то там регион-город выбирается, а после подходящие способы доставки показываются

    • +1
      Koin Koin Партнер-разработчик 4 сентября 2018 09:57 #

      Надо добавить такой вариант оформления в плагине, думаете будет актуально, на фоне нового чекаута?

      • +2

        Я не думаю, что "старый чекаут" сразу станет неактуальным. Во-первых с ним должны быть совместимы плагины расчета доставки. Самостоятельный показ карт будет невозможен, например. Во-вторых тема дизайна должна "новый" поддерживать. С учетом того, что до сих пор магазины на 6-й версии Shop-Script все еще встречаются, доработки "старого" будут иметь спрос. Какой-то.

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

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