Задача довольно распространенная... Наверняка, есть хорошее решение...
Есть задача определить местоположение пользователя и вывести в шапку его город. Однако город должен быть ближайший из собственного списка городов. Например, если пользователь из Арамиля, то выводим Екатеринбург, если Лобня, то выводим Москва и т.п..
Кроме того, должна быть возможность выбрать город из выпадающего списка, если вдруг ошиблись. Наверняка есть какой-то модуль, который позволяет это сделать.
Как создать выпадающий список городов с автоматическим определение города пользователя из своего списка?
Главные вкладки
Лучший ответ
1
Посмотрите https://www.drupal.org/project/smart_ip
Комментарии
Неужели никто с геолокацией не сталкивался..
Это же на каждом третьем сайте есть...
Много кто сталкивался, просто "Наверняка есть какой-то модуль, который позволяет это сделать." - ошибочное суждение.
И, нет, этого нет "на каждом третьем сайте", но есть множество разнообразий похожих с этим кейсов.
В целом, Вам смотреть в сторону API Geolocation, и сопрягать с текущими подходами в структуре сайта, используемыми картами и логикой выборки для "автоматического определение города пользователя из своего списка".
Посмотрите https://www.drupal.org/project/smart_ip
Хороший модуль. А есть где-то список регионов и городов, которые он в теории может выдать?
Берет данные из http://www.maxmind.com/app/geolitecountry
Вот еще по теме
- https://html5demos.com/geo/
- https://tech.yandex.ru/maps/jsbox/2.1/geolocation
Если по России - то неплох сервис IpGeoBase.
Он возвращает город и регион, по региону можно было бы определять ближайший город из списка - если у юзера определилась Свердловская область - то выбирать Екатеринбург, например.
Но готового модуля нет, надо будет его делать, плюс надо понимать, как обрабатывать контекст города на страницах сайта - это будет какой-то фильтр, или субдомен, или что-то еще.