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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «__TOC__ == Общая информация == Модуль GeoIP возвращает данные об IP-адресе посетителя, такие, как …»)
 
Строка 4: Строка 4:
  
 
== [[XML]] ==
 
== [[XML]] ==
Если открыть исходный [[XML]] страницы, можно увидеть узел, добавленный модулем [[
+
Если открыть исходный [[XML]] страницы, можно увидеть узел, добавленный модулем [[GeoIP]]:
 +
 
 +
<source lang="xml">
 +
<geo>
 +
<code>RU</code>
 +
<country>Russia</country>
 +
<region>Leningrad Oblast</region>
 +
<city>Saint Petersburg</city>
 +
<latitude>59.95005</latitude>
 +
<longitude>30.31645</longitude>
 +
</geo>
 +
</source>
  
 
== Примеры использования ==
 
== Примеры использования ==
 +
Приведу простые для восприятия примеры использования GeoIP и XSLT
 +
 +
=== Вывод на странице страны и города ===
 +
Выведем в отдельном блоке страну и город пользователя:
 +
 +
<source lang="xml">
 +
</source>
 +
 +
=== Вывод текста в зависимости от страны ===
 +
Выведем сообщение, если IP не российский:
 +
 +
<source lang="xml">
 +
<xsl:template match="geo">
 +
<xsl:choose>
 +
<xsl:when test="code = 'ru'">
 +
<xsl:text>Приветствую вас на моём сайте!</xsl:text>
 +
<xsl:apply-templates select="/" />
 +
</xsl:when>
 +
<xsl:otherwise>
 +
<xsl:text>Sorry, available only  from Russia</xsl:text>
 +
</xsl:otherwise>
 +
</xsl:choose>
 +
</xsl:template>
 +
</source>
 +
 +
  
 
=== [[GoogleMaps]] ===
 
=== [[GoogleMaps]] ===

Версия 13:34, 27 апреля 2010

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

Модуль GeoIP возвращает данные об IP-адресе посетителя, такие, как код страны, страна, область, город, широта и долгота.

XML

Если открыть исходный XML страницы, можно увидеть узел, добавленный модулем GeoIP:

<geo>
	<code>RU</code>
	<country>Russia</country>
	<region>Leningrad Oblast</region>
	<city>Saint Petersburg</city>
	<latitude>59.95005</latitude>
	<longitude>30.31645</longitude>
</geo>

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

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

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

Выведем в отдельном блоке страну и город пользователя:

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

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

<xsl:template match="geo">
	<xsl:choose>
		<xsl:when test="code = 'ru'">
			<xsl:text>Приветствую вас на моём сайте!</xsl:text>
			<xsl:apply-templates select="/" />
		</xsl:when>
		<xsl:otherwise>
			<xsl:text>Sorry, available only  from Russia</xsl:text>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>


GoogleMaps

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

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

http://maps.google.com/staticmap?center=59.95005,30.31645?&markers=59.95005,30.31645&zoom=9&size=400x400

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

59.950 30.316.gif