Использование модуля GeoIP в PHP-шаблонизаторе — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показана 1 промежуточная версия 1 участника)
Строка 79: Строка 79:
 
[[Изображение: 59.950_30.316.gif]]
 
[[Изображение: 59.950_30.316.gif]]
  
[[Категория:Верстка в PHP]][[category:Модуль_GeoIP]]
+
[[category:Верстка в PHP]][[category:Модуль_GeoIP]]

Текущая версия на 12:55, 16 июля 2018

Актуально для версии 2.17

Общая информация

Модуль [GeoIP] возвращает данные об IP-адресе посетителя, такие, как страна, область, город, широта и долгота.
Что бы воспользоваться данным функционалом необходимо проверить его наличие. Если, после авторизации на сайте под логином супервайзера, в модулях отсутствует иконка Geoip.png - это значит что данный модуль еще не установлен на Вашей системе.

После приобретения, для его установки, необходимо зайти в модуль “Конфигурация” > “Модули” > “Список модулей, доступных для установки” и установить данный модуль.

XML

Если открыть исходный XML страницы, можно увидеть узел, добавленный модулем [GeoIP]:
<geo>
    <country>Россия</country>
    <region>Санкт-Петербург</region>
    <city>Санкт-Петербург</city>
    <latitude>59.93863</latitude>
    <longitude>30.31413</longitude>
</geo>

Примеры использования

Приведу простые для восприятия примеры использования [GeoIP] и PHP

Вывод на странице страны, города, широты и долготы

Если в начале страницы шаблона есть теги <?php ?>, то нижеследующий код необходимо добавить между данными тегами.

Если данных тегов нет, от необходимо добавить их в начале страницы. В итоге должно получиться примерно следующим образом


<?php

   $country = $variables['user']['geo']['country']; // Страна
   $region = $variables['user']['geo']['region']; // Регион
   $city = $variables['user']['geo']['city']; // Город
   $latitude = $variables['user']['geo']['latitude']; // Широта
   $longitude = $variables['user']['geo']['longitude']; // Долгота

?>


затем добавим в файл шаблона вывод данных [GeoIP]:

<ul>

<li><?= $country?> <li><?= $region?> <li><?= $city?> <li><?= $latitude?> <li><?= $longitude?>


Вывод текста в зависимости от страны

Выведем сообщение, если IP не российский

Нижеуказанный код необходимо добавить на Вашу страницу в том месте, где Вы хотите отображать сообщение:

<?php if($country == "Россия"): ?>

   <span>Приветствую вас на моём сайте!

<?php else: ?>

   <span>Sorry, available only  from Russia

<?php endif ?>



[GoogleMaps]

Так же можно отобразить точку на карте [GoogleMaps], используя широту и долготу.

Статическая карта

Необходимо в начале файла, где мы ранее добавляли переменные, указать еще одну переменную:

$googleMaps = "https://maps.googleapis.com/maps/api/staticmap?center={$latitude},{$longitude}&markers={$latitude},{$longitude}&zoom=9&size=400x400";

Затем, добавить в место, где Вы хотите видеть вывод карты код:

<img alt="GoogleMaps" src=<?= $googleMaps?> />


Вот как будет выглядеть карта:

59.950 30.316.gif