• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

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

Image CMS

artemkomarov

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


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


https://yadi.sk/d/qjBkhUBku7PVK


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

tuxfighter

Гуру
Местный
#2
У меня корректно определил край и город, вот только индекс взял "главный" 690000.
При ручном изменении города не изменяет индекс.
При "Доставке по другому адресу" тоже не подставляет ни индекс ни область/край/район.
 

artemkomarov

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

При ручном изменении города не изменяет индекс.
Это да, но это не для первой версии плагина )

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

tuxfighter

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

artemkomarov

Специалист
Местный
#5
Для меня крайне актуально, т.к. многие используют покупки как подарки, т.е. оплачивает один человек с одним адресом, а доставка - другому человеку с другим адресом
Да это пример когда это надо. На самом деле добавить вставку значений и в те поля не сложно думаю это можно сделать опциональным.
 

searchingman

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


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


https://yadi.sk/d/qjBkhUBku7PVK


Это черновая версия плагина так, что код и прочее еще стоит привесит в порядок, но функционировать он должен нормально. Заранее спасибо.
Артем, большое спасибо за Ваши плагины!

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

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

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

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

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

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

artemkomarov

Специалист
Местный
#7
Искать и подставлять данные адреса (регион, населенный пункт, индекс) по его местонахождению (IP) не совсем верно.

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


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

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


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

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


можно посмотреть на их демо-странице (понравился поиск "Ввод адреса одной строкой")

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


Вы подгружаете на страницу большой файл 2.5Mb

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


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

Ollti

Форумчанин
#9
Было бы здорово такой плагин с предугадыванием адреса + добавить кнопку "определить моё местоположение", где уже адрес определялся бы максимально близко. К слову, у меня гугл определяет местоположение с точностью до 30-50 метров, ни разу не замечал ошибки.
Буду надеяться на автора!)
 

artemkomarov

Специалист
Местный
#10
добавить кнопку "определить моё местоположение"
Честно не люблю любые всплывающие уведомления, а это с определением адреса темболее так как оно нативное и блокирует работу сайта до тех пор пока пользовтель не нажмет ок или отмена в сообщении.
 

gemchug74

Новичок
#11
artemkomarov

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

artemkomarov

Специалист
Местный
#12
Возможно у меня ошибка, проверьте пожалуйста вот что, если например доставка только в одну страну и вы например заполняете за клиента, соответсвенно ваш айпи не совпадает с вводимым адресом, то выскакивает ошибка выбора страны, хотя страна забита одна.
Хмм. Поясните пожалуйста, что значит заполняете за клиента?
 

gemchug74

Новичок
#15
Нет, ошибка вылазит внутри страны, жестко забита Россия, если исправляешь адрес на тестовый клиентский
 

evGeniu5

Новичок
#16
Здравствуйте, подскажите пожалуйста почему данные не подставляются автоматически? Возможно из-за того что удалил ненужные поля данных? Главное чтобы индекс подставлял и город, адрес может сам вбивать. Заранее спасибо. sotit.ru
 

evGeniu5

Новичок
#18
gt-ip-based-regions/js/gtipb-script.js (неактивен) пишет, как исправить и с чем может конфликтовать?! Установлен ещё ваш плагин Почта России но наврятли из-за этого так будет?!
 

evGeniu5

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