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

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

artemkomarov

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


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


https://yadi.sk/d/qjBkhUBku7PVK


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

tuxfighter

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

artemkomarov

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

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

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

tuxfighter

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

artemkomarov

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

searchingman

Гуру
Местный
Привет друзья. Сейчас в разработке находится плагин, который позволить в фоновом режими заполнять поля: страна, область, город, индекс на странице оформления заказа. Работа плагина крайне проста. Используя 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

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

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


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

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


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

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


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

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


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

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


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

Ollti

Форумчанин
Очень нравится как реализован подобный функционал здесь.
Автоопределение конечно хорошо, но как минимум отталкивает людей-параноиков :D
 

Ollti

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

artemkomarov

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

gemchug74

Новичок
artemkomarov

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

artemkomarov

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

gemchug74

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

evGeniu5

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

evGeniu5

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

evGeniu5

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