Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Автоматическое заполнение формы адреса на странице оформления заказа

Тема в разделе "Плагины для WooCommerce", создана пользователем artemkomarov, 10 авг 2016.

  1. artemkomarov

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28
    Привет друзья. Сейчас в разработке находится плагин, который позволить в фоновом режими заполнять поля: страна, область, город, индекс на странице оформления заказа. Работа плагина крайне проста. Используя API Яндекс карт получаем местоположение (IP) посетителя и на основе него пытаемся найти индекс в базе. Затем эти данные вписываем в необходимые поля. В идеале все должно быть автоматически и ни как не заметно для конечного пользователя. При переходе на страницу оформления заказа он должен сразу видеть заполненные поля и соответствующие методы доставки привязанные в зоне доставок (если таковые имеются).


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


    https://yadi.sk/d/qjBkhUBku7PVK


    Это черновая версия плагина так, что код и прочее еще стоит привесит в порядок, но функционировать он должен нормально. Заранее спасибо.
     
    • Нравится Нравится x 3
  2. tuxfighter

    tuxfighter Местный

    Сообщения:
    675
    Симпатии:
    105
    Баллы:
    43
    У меня корректно определил край и город, вот только индекс взял "главный" 690000.
    При ручном изменении города не изменяет индекс.
    При "Доставке по другому адресу" тоже не подставляет ни индекс ни область/край/район.
     
  3. artemkomarov

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28
    Да индекс берется главный по области. На это есть причины так как даже просто база городов областей и основных индексов весит почти 3 мб которая грузятся на странице checkout что как вы понимаете совсем не в плюс оптимизации. Плюс скажем для расчета стоимости почтой достаточно только главного индекса. Плюс как уже осуждали это невозможно для России определять район города по ip и как следствие не возможно определить соответствующий индекс.

    Это да, но это не для первой версии плагина )

    Это кстати интересная тема. Насколько эта опция вообще актуальна? Кто ей пользуется? Я обычно ее сразу отключаю чтобы минимизировать любое замешательство для покупателя.
     
  4. tuxfighter

    tuxfighter Местный

    Сообщения:
    675
    Симпатии:
    105
    Баллы:
    43
    Для меня крайне актуально, т.к. многие используют покупки как подарки, т.е. оплачивает один человек с одним адресом, а доставка - другому человеку с другим адресом
     
  5. artemkomarov

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28
    Да это пример когда это надо. На самом деле добавить вставку значений и в те поля не сложно думаю это можно сделать опциональным.
     
  6. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Артем, большое спасибо за Ваши плагины!

    Теперь касательно плагина.

    1. Искать и подставлять данные адреса (регион, населенный пункт, индекс) по его местонахождению (IP) не совсем верно.
    Клиент может находится в разных местах и делать заказ для своего адреса проживания, для родственников из другого города и т.д.
    Для клиента важно дать свободу выбора для указания нужного адреса, чтобы при вводе по первым буквам региона (города, деревни и т.д.) у него вылетали подсказки для ввода. Индекс должен заполняться по выбранным данным.

    2. Где и как взять достоверную информацию, которая будет актуально обновляться.
    Если адреса относятся к России, то с сайта ФНС (КЛАДР -> ФИАС), данные базы которой обновляется каждую неделю.

    3. Базу ФИАС можно загружать в таблицы БД для поиска со своего сайта (может быть трудоемко и накладно для простого хостинга) или воспользоваться готовыми сервисами (н-р, kladr-api.ru)
    Для начала можно воспользоваться вышеназванным сервисом.
    Для бесплатного использования допускается до 100 000 запросов в день (около 5 000 найденных адресов), что для среднего сайта вполне достаточно.
    Примеры работы сервиса можно посмотреть на их демо-странице (понравился поиск "Ввод адреса одной строкой"). Существует jQuery-плагин для обращения к API-сервиса.

    4. Посмотрел в исходниках плагина, что Вы подгружаете на страницу большой файл 2.5Mb (увеличивает объем и время загрузки страницы, особенно актуально на мобильных устройствах) и в нем ищете нужную информацию с помощью методов jQuery (не самый быстрый способ).
    ИМХО: Для таких вещей обычно используют БД из которой вытаскивают данные, н-р, через технологию AJAX.

    Удачи в развитии плагина!
     
    Последнее редактирование: 11 авг 2016
  7. artemkomarov

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28

    Да эта тема обсуждалась в другой ветке, но задача продавца угодить большинству, а 90% клиентов покупают себе.



    Ни кто свободу не отбирает если плагин не правильно поставил пожно стереть и написать свое)



    Вся идея плагина как раз таки в том чтобы пользователь ни чего этого не заполнял не вбивал пару букв и искал в списке из 20 городов с одинаковым названием свой.



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



    Эта да, это минус. Но пихать это в БД или еще хуже ФИАС пихать в БД для одного маленького плагина чья задача поставить значения в три поля на одной страничке считаю крайней мерой.


    Спасибо за отзыв и советы. Я бы хотел сделать универсальное решение которое бы подошло большинству пользователей интернет магазинов, а всем угодить не возможно. Кто то как вы хочет что бы был превентивный поиск кто то что бы адрес определялся точно до номера дома. Сейчас я попробую посмотреть в сторону google карт может их API покажет себя лучше.
     
  8. Ollti

    Ollti

    Сообщения:
    29
    Симпатии:
    7
    Баллы:
    3
    Очень нравится как реализован подобный функционал здесь.
    Автоопределение конечно хорошо, но как минимум отталкивает людей-параноиков :D
     
    • Нравится Нравится x 1
  9. Ollti

    Ollti

    Сообщения:
    29
    Симпатии:
    7
    Баллы:
    3
    Было бы здорово такой плагин с предугадыванием адреса + добавить кнопку "определить моё местоположение", где уже адрес определялся бы максимально близко. К слову, у меня гугл определяет местоположение с точностью до 30-50 метров, ни разу не замечал ошибки.
    Буду надеяться на автора!)
     
  10. artemkomarov

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28
    Честно не люблю любые всплывающие уведомления, а это с определением адреса темболее так как оно нативное и блокирует работу сайта до тех пор пока пользовтель не нажмет ок или отмена в сообщении.
     
  11. gemchug74

    gemchug74

    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    artemkomarov

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

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28
    Хмм. Поясните пожалуйста, что значит заполняете за клиента?
     
  13. gemchug74

    gemchug74

    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Тестовый заказ
     
  14. artemkomarov

    artemkomarov Местный

    Сообщения:
    174
    Симпатии:
    71
    Баллы:
    28
    То есть скажем у вас стоит по умолчанию только Россия и выбор у покупателя отсутствует и он допустим заходит с Украины то вылазеет ошибка?
     
  15. gemchug74

    gemchug74

    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Нет, ошибка вылазит внутри страны, жестко забита Россия, если исправляешь адрес на тестовый клиентский
     
  16. evGeniu5

    evGeniu5

    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, подскажите пожалуйста почему данные не подставляются автоматически? Возможно из-за того что удалил ненужные поля данных? Главное чтобы индекс подставлял и город, адрес может сам вбивать. Заранее спасибо. sotit.ru
     
  17. tuxfighter

    tuxfighter Местный

    Сообщения:
    675
    Симпатии:
    105
    Баллы:
    43
    все подставилось
    adress.JPG
     
  18. evGeniu5

    evGeniu5

    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    gt-ip-based-regions/js/gtipb-script.js (неактивен) пишет, как исправить и с чем может конфликтовать?! Установлен ещё ваш плагин Почта России но наврятли из-за этого так будет?!
     
  19. evGeniu5

    evGeniu5

    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Спасибо за помошь, буду смотреть с другого компьютера возможно частный случай
     
  20. evGeniu5

    evGeniu5

    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    проверил, мой домашний регион (Новосибирск) напрочь отказывается подставлять индекс (630000) но по нему настроены варианты доставки (самовывоз, местная доставка), как исправить в чем может быть неполадка подскажите пожалуйста, либо можно чтобы подставлял варианты доставки отталкиваясь от города, а не идекса, но как такое осуществить я найти не смог. заранее спасибо.