Мне нужно показывать блок с контентом только в определённых странах, а также в некоторых странах, но только в определённых их областях.
Подскажите как лучше это реализовать?
Я нашёл модуль, который позволяют показывать по странам, но при проверке через VPN работает всё с глюками. Периодически блок с контентом показывается там, где не должен.
Вот модуль, который я использовал:
Block Country (https://www.drupal.org/project/block_country)
По описанию также необходимым функционалом обладает и вот этот модуль Smart IP (https://www.drupal.org/project/smart_ip)
Но когда в нём включаешь настройки показа, то блок вообще везде исчезает и не показывается.
Также непонятно как реализовать показ только в определённых областях страны? Прописывать все IP-адреса руками или есть другое решение?
Заранее спасибо за помощь!
Комментарии
проще всего яваскриптом на клиенте определять
и потом уже показывать
городить контексты кеширования не стоит
не думаю, что у вас там приватность какая-то
Качество определения зависит от качества использованной geoip базы. Но точно определять по ip точнее чем страну, довольно сложно - немало провайдеров, особенно сотовых операторов крупных, имеют глобальные пулы адресов, которые могут быть выходом для более одного города. Т.е. ошибки будут всегда.
Есть гибридные решения определения местоположения, см например maps yandex API 2 https://tech.yandex.ru/maps/jsbox/2.1/geolocation
Спасибо за подсказку.
Всегда пожалуйста.