Использование модуля GeoIP в TPL-шаблонизаторе
Материал из Umicms
Версия от 13:13, 5 июня 2013; Mad grant (обсуждение | вклад)
Как работать с модуле GeoIP в XSLT-шаблонизаторе было рассказано в данной статье Использование модуля GeoIP в XSLT-шаблоне. Работать с модулем GeoIP, в TPL-шаблонизаторе на клиентской части можно только с помощью кастомного метода. Рассмотрим следующий пример метода, который добавляется в файл classes/modules/custom.php:
public function info_geoip() {
$cmsController = cmsController::getInstance();
$geoip = $cmsController->getModule("geoip");
$geoinfo = $geoip->lookupIp();
/*
'country' =>$geoinfo['country'],
'region' => $geoinfo['region'],
'city' => $geoinfo['city'],
'latitude' => $geoinfo['lat'],
'longitude' => $geoinfo['lon']
*/
if($geoinfo['city']) return $geoinfo['city'];
}
Данный метод возвращает название Города текущего посетителя, если в базе данных модуля GeoIP было найдено соответствие для текущего IP-адреса. Вызов метода в tpl-шаблоне следующий:
%custom info_geoip()%
Если в метод lookupIp передавать ip, то будет получен массив данных для указанного ip, а не для ip посетителя сайта.