Использование модуля GeoIP в PHP-шаблонизаторе — различия между версиями
Строка 79: | Строка 79: | ||
[[Изображение: 59.950_30.316.gif]] | [[Изображение: 59.950_30.316.gif]] | ||
− | [[Категория:Верстка в PHP]][[ | + | [[Категория:Верстка в PHP]][[category:Модуль_GeoIP]] |
Версия 13:07, 10 января 2018
Актуально для версии 2.17
Содержание
Общая информация
- Модуль [GeoIP] возвращает данные об IP-адресе посетителя, такие, как страна, область, город, широта и долгота.
- Что бы воспользоваться данным функционалом необходимо проверить его наличие. Если, после авторизации на сайте под логином супервайзера, в модулях отсутствует иконка - это значит что данный модуль еще не установлен на Вашей системе.
После приобретения, для его установки, необходимо зайти в модуль “Конфигурация” > “Модули” > “Список модулей, доступных для установки” и установить данный модуль.
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?> />
- Вот как будет выглядеть карта: