Локация в ICMS2
Нужно сделать автоопределения локации пользователей по ip, и исходя из его местоположения показывать контент.
И тут возникла небольшая проблема, айдишники городов которые возвращают api (https://find-ip.info/en/ или Яндекс.Карт) не совпадают с айдишниками городов в базе.
Кто знает откуда качали базу для ICMS2? Возможно там есть и API? Или может где можно слить другую базу?
Спасибо!
Если надо определение именно города, то по аналогичной схеме модифицируйте данную функцию. Для России ipgeobase.ru отдает данные с точностью до города.
function get_country_by_ip($model=null) { if($model===null){ $model = new cmsModel(); } $cached_geo = cmsUser::sessionGet('cached_geo'); if($cached_geo){ return $cached_geo; } foreach ($out->ip[0] as $key=>$value) { $data[$key] = (string)$value; } } // для отладки того, что отдает сервис //dump($data); // определяем страну $country = $model->getItemByField('geo_countries', 'alpha2', $data['country']); } else { } cmsUser::sessionSet('cached_geo', $country); return $country; }