<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.umisoft.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Perevozchikov.ilya&amp;*</id>
	<title>Umicms - Вклад участника [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umisoft.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Perevozchikov.ilya&amp;*"/>
	<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Perevozchikov.ilya"/>
	<updated>2026-04-05T16:09:28Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8050</id>
		<title>Использование модуля GeoIP в PHP-шаблонизаторе</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8050"/>
		<updated>2018-01-10T13:11:30Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
:Модуль [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]] возвращает данные об IP-адресе посетителя, такие, как страна, область, город, широта и долгота.&lt;br /&gt;
&lt;br /&gt;
:Что бы воспользоваться данным функционалом необходимо проверить его наличие. Если, после авторизации на сайте под логином супервайзера, в модулях отсутствует иконка [[Изображение: geoip.png]] - это значит что данный модуль еще не установлен на Вашей системе. &lt;br /&gt;
&lt;br /&gt;
После приобретения, для его установки, необходимо зайти в модуль “Конфигурация” &amp;gt; “Модули” &amp;gt; “Список модулей, доступных для установки” и установить данный модуль.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
:Если открыть исходный XML страницы, можно увидеть узел, добавленный модулем [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;geo&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;Россия&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;region&amp;gt;Санкт-Петербург&amp;lt;/region&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Санкт-Петербург&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;latitude&amp;gt;59.93863&amp;lt;/latitude&amp;gt;&lt;br /&gt;
    &amp;lt;longitude&amp;gt;30.31413&amp;lt;/longitude&amp;gt;&lt;br /&gt;
&amp;lt;/geo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры использования ==&lt;br /&gt;
:Приведу простые для восприятия примеры использования [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]] и PHP&lt;br /&gt;
&lt;br /&gt;
=== Вывод на странице страны, города, широты и долготы ===&lt;br /&gt;
:Если в начале страницы шаблона есть теги &amp;lt;?php ?&amp;gt;, то нижеследующий код необходимо добавить между данными тегами.&lt;br /&gt;
Если данных тегов нет, от необходимо добавить их в начале страницы. В итоге должно получиться примерно следующим образом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $country = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;country&amp;#039;]; // Страна&lt;br /&gt;
    $region = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;region&amp;#039;]; // Регион&lt;br /&gt;
    $city = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;city&amp;#039;]; // Город&lt;br /&gt;
    $latitude = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;latitude&amp;#039;]; // Широта&lt;br /&gt;
    $longitude = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;longitude&amp;#039;]; // Долгота&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
затем добавим в файл шаблона вывод данных [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;nowiki /&amp;gt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $country?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $region?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $city?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $latitude?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $longitude?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Вывод текста в зависимости от страны ===&lt;br /&gt;
:Выведем сообщение, если IP не российский&lt;br /&gt;
Нижеуказанный код необходимо добавить на Вашу страницу в том месте, где Вы хотите отображать сообщение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php if($country == &amp;quot;Россия&amp;quot;): ?&amp;gt;&lt;br /&gt;
    &amp;amp;lt;span&amp;gt;Приветствую вас на моём сайте!&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;?php else: ?&amp;gt;&lt;br /&gt;
    &amp;amp;lt;span&amp;gt;Sorry, available only  from Russia&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;?php endif ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[http://ru.wikipedia.org/wiki/Google_Maps GoogleMaps]] ===&lt;br /&gt;
:Так же можно отобразить точку на карте [[http://ru.wikipedia.org/wiki/Google_Maps GoogleMaps]], используя широту и долготу.&lt;br /&gt;
&lt;br /&gt;
==== Статическая карта ====&lt;br /&gt;
Необходимо в начале файла, где мы ранее добавляли переменные, указать еще одну переменную:&lt;br /&gt;
&lt;br /&gt;
$googleMaps = &amp;quot;https://maps.googleapis.com/maps/api/staticmap?center={$latitude},{$longitude}&amp;amp;amp;markers={$latitude},{$longitude}&amp;amp;amp;zoom=9&amp;amp;amp;size=400x400&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Затем, добавить в место, где Вы хотите видеть вывод карты код:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;img alt=&amp;quot;GoogleMaps&amp;quot; src=&amp;lt;?= $googleMaps?&amp;gt; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Вот как будет выглядеть карта:&lt;br /&gt;
&lt;br /&gt;
[[Изображение: 59.950_30.316.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Верстка в PHP]][[Category:Модуль_GeoIP]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8049</id>
		<title>Использование модуля GeoIP в PHP-шаблонизаторе</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8049"/>
		<updated>2018-01-10T13:07:56Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
:Модуль [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]] возвращает данные об IP-адресе посетителя, такие, как страна, область, город, широта и долгота.&lt;br /&gt;
&lt;br /&gt;
:Что бы воспользоваться данным функционалом необходимо проверить его наличие. Если, после авторизации на сайте под логином супервайзера, в модулях отсутствует иконка [[Изображение: geoip.png]] - это значит что данный модуль еще не установлен на Вашей системе. &lt;br /&gt;
&lt;br /&gt;
После приобретения, для его установки, необходимо зайти в модуль “Конфигурация” &amp;gt; “Модули” &amp;gt; “Список модулей, доступных для установки” и установить данный модуль.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
:Если открыть исходный XML страницы, можно увидеть узел, добавленный модулем [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;geo&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;Россия&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;region&amp;gt;Санкт-Петербург&amp;lt;/region&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Санкт-Петербург&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;latitude&amp;gt;59.93863&amp;lt;/latitude&amp;gt;&lt;br /&gt;
    &amp;lt;longitude&amp;gt;30.31413&amp;lt;/longitude&amp;gt;&lt;br /&gt;
&amp;lt;/geo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры использования ==&lt;br /&gt;
:Приведу простые для восприятия примеры использования [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]] и PHP&lt;br /&gt;
&lt;br /&gt;
=== Вывод на странице страны, города, широты и долготы ===&lt;br /&gt;
:Если в начале страницы шаблона есть теги &amp;lt;?php ?&amp;gt;, то нижеследующий код необходимо добавить между данными тегами.&lt;br /&gt;
Если данных тегов нет, от необходимо добавить их в начале страницы. В итоге должно получиться примерно следующим образом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $country = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;country&amp;#039;]; // Страна&lt;br /&gt;
    $region = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;region&amp;#039;]; // Регион&lt;br /&gt;
    $city = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;city&amp;#039;]; // Город&lt;br /&gt;
    $latitude = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;latitude&amp;#039;]; // Широта&lt;br /&gt;
    $longitude = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;longitude&amp;#039;]; // Долгота&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
затем добавим в файл шаблона вывод данных [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;nowiki /&amp;gt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $country?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $region?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $city?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $latitude?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $longitude?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Вывод текста в зависимости от страны ===&lt;br /&gt;
:Выведем сообщение, если IP не российский&lt;br /&gt;
Нижеуказанный код необходимо добавить на Вашу страницу в том месте, где Вы хотите отображать сообщение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php if($country == &amp;quot;Россия&amp;quot;): ?&amp;gt;&lt;br /&gt;
    &amp;amp;lt;span&amp;gt;Приветствую вас на моём сайте!&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;?php else: ?&amp;gt;&lt;br /&gt;
    &amp;amp;lt;span&amp;gt;Sorry, available only  from Russia&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;?php endif ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[http://ru.wikipedia.org/wiki/Google_Maps GoogleMaps]] ===&lt;br /&gt;
:Так же можно отобразить точку на карте [[http://ru.wikipedia.org/wiki/Google_Maps GoogleMaps]], используя широту и долготу.&lt;br /&gt;
&lt;br /&gt;
==== Статическая карта ====&lt;br /&gt;
Необходимо в начале файла, где мы ранее добавляли переменные, указать еще одну переменную:&lt;br /&gt;
&lt;br /&gt;
$googleMaps = &amp;quot;https://maps.googleapis.com/maps/api/staticmap?center={$latitude},{$longitude}&amp;amp;amp;markers={$latitude},{$longitude}&amp;amp;amp;zoom=9&amp;amp;amp;size=400x400&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Затем, добавить в место, где Вы хотите видеть вывод карты код:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;img alt=&amp;quot;GoogleMaps&amp;quot; src=&amp;lt;?= $googleMaps?&amp;gt; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Вот как будет выглядеть карта:&lt;br /&gt;
&lt;br /&gt;
[[Изображение: 59.950_30.316.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Верстка в PHP]][[category:Модуль_GeoIP]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_GeoIP&amp;diff=8048</id>
		<title>Категория:Модуль GeoIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_GeoIP&amp;diff=8048"/>
		<updated>2018-01-10T13:01:42Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Документация:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*для пользователя: [http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Индекс категории}}&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_GeoIP&amp;diff=8047</id>
		<title>Категория:Модуль GeoIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_GeoIP&amp;diff=8047"/>
		<updated>2018-01-10T13:01:28Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Документация:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*для пользователя: [http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Индекс категории}}&lt;br /&gt;
[[Использование модуля GeoIP в PHP-шаблоне]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8046</id>
		<title>Использование модуля GeoIP в PHP-шаблонизаторе</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8046"/>
		<updated>2018-01-10T12:58:57Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
:Модуль [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]] возвращает данные об IP-адресе посетителя, такие, как страна, область, город, широта и долгота.&lt;br /&gt;
&lt;br /&gt;
:Что бы воспользоваться данным функционалом необходимо проверить его наличие. Если, после авторизации на сайте под логином супервайзера, в модулях отсутствует иконка [[Изображение: geoip.png]] - это значит что данный модуль еще не установлен на Вашей системе. &lt;br /&gt;
&lt;br /&gt;
После приобретения, для его установки, необходимо зайти в модуль “Конфигурация” &amp;gt; “Модули” &amp;gt; “Список модулей, доступных для установки” и установить данный модуль.&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
:Если открыть исходный XML страницы, можно увидеть узел, добавленный модулем [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;geo&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;Россия&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;region&amp;gt;Санкт-Петербург&amp;lt;/region&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Санкт-Петербург&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;latitude&amp;gt;59.93863&amp;lt;/latitude&amp;gt;&lt;br /&gt;
    &amp;lt;longitude&amp;gt;30.31413&amp;lt;/longitude&amp;gt;&lt;br /&gt;
&amp;lt;/geo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры использования ==&lt;br /&gt;
:Приведу простые для восприятия примеры использования [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]] и PHP&lt;br /&gt;
&lt;br /&gt;
=== Вывод на странице страны, города, широты и долготы ===&lt;br /&gt;
:Если в начале страницы шаблона есть теги &amp;lt;?php ?&amp;gt;, то нижеследующий код необходимо добавить между данными тегами.&lt;br /&gt;
Если данных тегов нет, от необходимо добавить их в начале страницы. В итоге должно получиться примерно следующим образом&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $country = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;country&amp;#039;]; // Страна&lt;br /&gt;
    $region = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;region&amp;#039;]; // Регион&lt;br /&gt;
    $city = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;city&amp;#039;]; // Город&lt;br /&gt;
    $latitude = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;latitude&amp;#039;]; // Широта&lt;br /&gt;
    $longitude = $variables[&amp;#039;user&amp;#039;][&amp;#039;geo&amp;#039;][&amp;#039;longitude&amp;#039;]; // Долгота&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
затем добавим в файл шаблона вывод данных [[http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_geo_ip/ GeoIP]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;nowiki /&amp;gt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $country?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $region?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $city?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $latitude?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;&amp;lt;nowiki /&amp;gt;li&amp;gt;&amp;lt;?= $longitude?&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Вывод текста в зависимости от страны ===&lt;br /&gt;
:Выведем сообщение, если IP не российский&lt;br /&gt;
Нижеуказанный код необходимо добавить на Вашу страницу в том месте, где Вы хотите отображать сообщение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php if($country == &amp;quot;Россия&amp;quot;): ?&amp;gt;&lt;br /&gt;
    &amp;amp;lt;span&amp;gt;Приветствую вас на моём сайте!&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;?php else: ?&amp;gt;&lt;br /&gt;
    &amp;amp;lt;span&amp;gt;Sorry, available only  from Russia&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;?php endif ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[http://ru.wikipedia.org/wiki/Google_Maps GoogleMaps]] ===&lt;br /&gt;
:Так же можно отобразить точку на карте [[http://ru.wikipedia.org/wiki/Google_Maps GoogleMaps]], используя широту и долготу.&lt;br /&gt;
&lt;br /&gt;
==== Статическая карта ====&lt;br /&gt;
Необходимо в начале файла, где мы ранее добавляли переменные, указать еще одну переменную:&lt;br /&gt;
&lt;br /&gt;
$googleMaps = &amp;quot;https://maps.googleapis.com/maps/api/staticmap?center={$latitude},{$longitude}&amp;amp;amp;markers={$latitude},{$longitude}&amp;amp;amp;zoom=9&amp;amp;amp;size=400x400&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Затем, добавить в место, где Вы хотите видеть вывод карты код:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;img alt=&amp;quot;GoogleMaps&amp;quot; src=&amp;lt;?= $googleMaps?&amp;gt; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Вот как будет выглядеть карта:&lt;br /&gt;
&lt;br /&gt;
[[Изображение: 59.950_30.316.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Верстка в PHP]][[Категория:Модуль_GeoIP]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8044</id>
		<title>Использование модуля GeoIP в PHP-шаблонизаторе</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_GeoIP_%D0%B2_PHP-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B5&amp;diff=8044"/>
		<updated>2018-01-10T12:58:31Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «Создать статью в этой Категории» в «Использование модуля GeoIP в PHP-шаблонизаторе»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Отработка макросов внутри html кода]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%BD%D1%83%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4_%D0%BD%D0%B0_https&amp;diff=8041</id>
		<title>Принудительный переход на https</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%BD%D1%83%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4_%D0%BD%D0%B0_https&amp;diff=8041"/>
		<updated>2017-12-11T09:09:30Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[category:.htaccess]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Для перевода посетителей на HTTPS в файле .htaccess, лежащем в корне сайта, можно добавить следующее правило&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTPS} !=on&lt;br /&gt;
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом все посетители будут перенаправляться на протокол htpps&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%B5%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=8039</id>
		<title>Прозрачная преавторизация</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%B5%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=8039"/>
		<updated>2017-11-27T08:48:44Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Начиная с ревизии &amp;#039;&amp;#039;&amp;#039;4097&amp;#039;&amp;#039;&amp;#039; в систему (все редакции) добавлена определенная возможность, рабочее название которой - &amp;quot;Прозрачная преавторизация&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Актуально для версии 2.9&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Для использования данного функционала в версии &amp;#039;&amp;#039;2.8&amp;#039;&amp;#039; и выше, необходимо в &amp;#039;&amp;#039;config.ini&amp;#039;&amp;#039; в секции &amp;#039;&amp;#039;kernel&amp;#039;&amp;#039; включить &amp;#039;&amp;#039;enable-pre-auth&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Суть ее в следующем: ===&lt;br /&gt;
&lt;br /&gt;
До начала всякого процессинга любой страницы система теперь проверяет, не передан ли ей логин и пароль зарегистрированного пользователя, и если передан - прозрачно авторизует его. &amp;quot;Прозрачно&amp;quot; - значит без вывода каких-то форм, без переброски на какие-то адреса после авторизации и т.п. Просто, если данные переданы верно, она начинает работать с правами соответствующей учетной записи (если не верно - от &amp;#039;&amp;#039;&amp;#039;Гостя&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
=== Как передать данные: ===&lt;br /&gt;
&lt;br /&gt;
Система просматривает сначала куки, потом заголовки текущего &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; запроса, затем параметры &amp;#039;&amp;#039;&amp;#039;POST&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;GET&amp;#039;&amp;#039;&amp;#039; запроса. Поля должны называться &amp;#039;&amp;#039;&amp;#039;u-login&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;u-password&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;u-password-md5&amp;#039;&amp;#039;&amp;#039;. Для успешной преавторизации должен быть обязательно передан параметр &amp;#039;&amp;#039;&amp;#039;u-login&amp;#039;&amp;#039;&amp;#039; и один из &amp;#039;&amp;#039;&amp;#039;u-password&amp;#039;&amp;#039;&amp;#039; или &amp;#039;&amp;#039;&amp;#039;u-password-md5&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Для чего это надо ? Теперь можно разово получать данные из системы от лица какого-то пользователя без прохождения ручной процедуры авторизации (через &amp;#039;&amp;#039;&amp;#039;users/login&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;&amp;#039;users/login_do&amp;#039;&amp;#039;&amp;#039;). В первую очередь это полезно для автоматизации запросов, но можно использовать и для каких-то интерфейсных решений, чтобы избежать переходов на страницу авторизации и обратно (например, добавление окошка &amp;quot;сменить пользователя&amp;quot; в админке).&lt;br /&gt;
&lt;br /&gt;
Дополнительно можно передать параметр &amp;#039;&amp;#039;&amp;#039;u-session-id&amp;#039;&amp;#039;&amp;#039;, если вам необходимо, чтобы пользователь авторизовался в уже привязанной к нему сессии. Это полезно, допустим, для http-запросов из php-кода. Тогда сервер создаст новый процесс, но запустит его в той же сессии, что и вызывающий. (Если будет передан идентификатор сессии, не привязанный ранее к указанному пользователю, система сбросит текущую авторизацию и начнет работать от Гостя).&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Устанавливаем необходимые поля в куки&lt;br /&gt;
 setcookie(&amp;quot;u-login&amp;quot;, &amp;quot;login&amp;quot;, (time() + 31536000), &amp;quot;/&amp;quot;);&lt;br /&gt;
 setcookie(&amp;quot;u-password-md5&amp;quot;, md5(&amp;quot;password&amp;quot;), (time() + 31536000), &amp;quot;/&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GET: http://localhost/?u-login=login&amp;amp;u-password=password&lt;br /&gt;
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Модуль Пользователи]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%B7_1%D0%A1&amp;diff=8038</id>
		<title>Техническая сторона импорта данных из 1С</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%B7_1%D0%A1&amp;diff=8038"/>
		<updated>2017-11-22T11:27:38Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[category:Интеграция с 1С]]&lt;br /&gt;
Перед выполнением обмена данными с Web-сайтом, можно настроить параметры импорта в конфигурационном файле config.ini (секция modules):&lt;br /&gt;
[http://help-dev.umi-cms.ru/part.Config.modules.html]&lt;br /&gt;
&lt;br /&gt;
Настройки позволяют указать:&lt;br /&gt;
* будут ли активными разделы каталога или объекты, при создании их в системе.&lt;br /&gt;
* какой шаблон будет назначен для объектов и разделов, указывается имя файла, допустим, inner.tpl или default.xsl. &lt;br /&gt;
* какая Цена будет использоваться, актуально если в 1С у вас несколько цен, допустим Оптовая, Розничная, Мелко оптовая, и т.д.&lt;br /&gt;
* видимость в меню создаваемых разделов каталога и объектов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Подготовка данных.&amp;#039;&amp;#039;&amp;#039; Когда сценарий обмена данными с Web-сайтом настроен и запущена команда «Выполнить обмен», система 1С подготавливает данные для отправки, во временной директории операционной системы пользователя. В директории хранятся исходные данные, разбитые на равные части, по 100Кб. Это части фалов import.xml, offers.xml и изображений (в случае если размер изображения более 100Кб). &lt;br /&gt;
Для изучения, файлы import.xml и offers.xml можно получить, выбрав тип обмена данных «Выгрузка в каталог», а не «Выгрузка на сайт». В файле import.xml хранятся основные данные по каждой номенклатурной позиции, свойства, расположение в группе, наименование и др. В файле offers.xml сохраняются цены для каждой номенклатуры, их может быть несколько для одного элемента.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. Передача данных.&amp;#039;&amp;#039;&amp;#039; Далее, с использованием открытого протокола обмена данными ([http://v8.1c.ru/edi/edi_stnd/131/]) происходит отправка данных на сервер где установлена UMI.CMS. Управляющий метод auto() находится  файле classes/modules/exchange/__auto.php. Метод принимает данные разбитые на части, собирает их постепенно в единое целое, сохраняя в определенных директориях. В папке sys-temp/1c_import/ собираются файлы import.xml и offers.xml. В папке /images/cms/data/ сохраняются изображения, обычно это папка import_files, в которой находятся вложенные папки с изображениями. В 1С, с помощью визуального интерфейса вы видите как на сервер, по частям, отправляются все данные.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Обработка данных.&amp;#039;&amp;#039;&amp;#039; Как только все данные в UMI.CMS получены, происходит обработка полученных данных и непосредственно их импорт. Сначала обрабатывается xml-файл import.xml. По определенной логике считывается 25-ть элементов данных из файла, полученная структура преобразуется во внутренний формат системы UMIDump2.0 ([http://api.umi-cms.ru/umiDump20.html]). Для конвертации xml данных используется шаблон /xsl/import/commerceML2.xsl и /xsl/import/custom/commerceML2.xsl. Xsl шаблон в папке custom используется в том случае, если необходимо поменять стандартный механизм преобразовании данных, допустим если вам надо импортировать не одну Цену товара, а сразу все [http://wiki.umisoft.ru/Импорт_всех_типов_Цен]. Шаблон в папке custom не затирается при обновлении системы. После преобразования порции xml-данных в UMIDump2.0, происходит импорт полученных данных в систему. Постепенно происходит обработка всего файла import.xml, далее идет очередь за offers.xml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4. Результаты импорта.&amp;#039;&amp;#039;&amp;#039; После импорта данных на сайт, в структуре сайта появляются разделы каталога с объектами из 1C, а в модуле «Шаблоны данных», создаются дочерние типы данных по отношению к типу «Объект каталога», иерархия типов повторяет структуру разделов с элементами номенклатуры в 1С. Как можно изменить стандартное поведение системы, связанное с созданием Типа Данных на каждый Раздел Каталога описано в данной статье: [http://wiki.umisoft.ru/Единственный_тип_данных_Объект_каталога,_при_импорте_из_1С]&lt;br /&gt;
&lt;br /&gt;
При удалении, какого либо раздела или объекта каталога в корзину, он продолжает существовать в системе и его данные будут обновляться при повторном импорте. Для полноценного удаления раздела или объекта каталога, необходимо произвести удаление из корзины.&lt;br /&gt;
&lt;br /&gt;
После импорта данных, разделы можно распределить по сайту на свое усмотрение, даже можно переместить раздел в другой домен той же системы, необходимая связь все равно сохранится и данные будут обновляться, также как и добавляться новые объекты каталога. Это достигается за счет того, что в базе данных, в таблице cms3_import_relations прописано соответствие между id раздела в 1С и id в UMI.CMS. Происходит импорт в тот же самый раздел, не важно где он находится, главное чтобы он существовал. В той же таблице прописаны соответствия element_id номенклатурных позиций в 1С и объектов каталога в UMI.CMS.&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D0%B8%D0%B4%D1%8B_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9&amp;diff=8037</id>
		<title>Виды ключей</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%92%D0%B8%D0%B4%D1%8B_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9&amp;diff=8037"/>
		<updated>2017-11-22T11:18:44Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
UMI.CMS использует три вида ключей: &amp;#039;&amp;#039;&amp;#039;лицензионный&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;доменный&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;девелоперский&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Лицензионный ключ ==&lt;br /&gt;
[[Лицензионный ключ]] используется для активации системы. Он высылается в письме на указанную вами почту, при покупке коммерческой лицензии. Более он нигде не сохраняется. Если вы по какой либо причине утратили ваш лицензионный ключ обратитесь в коммерческий отдел на sales@umisoft.ru&lt;br /&gt;
&lt;br /&gt;
== Доменный ключ ==&lt;br /&gt;
Доменный ключ можно увидеть в модуле конфигурация. Его, как и лицензионный ключ, можно использовать для обращения в Службу Заботы на странице www.umi-cms.ru/support&lt;br /&gt;
&lt;br /&gt;
== Девелоперский ключ ==&lt;br /&gt;
Девелоперский ключ используется для паралельной разработки &amp;quot;живого&amp;quot; сайта на тестовом домене, чтобы не нарушать деятельности сайта.&lt;br /&gt;
Получить его можно по запросу в коммерческий отдел Umisoft. При обращении нужно указать следующую информацию:&amp;lt;br /&amp;gt;&lt;br /&gt;
1. Активированный коммерческий ключ&amp;lt;br /&amp;gt;&lt;br /&gt;
2. Ссылку на phpinfo находящийся на том сервере и домене который будет использоваться для разработки.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dashed black; width: 90%; margin: 0 auto; padding: 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;На заметку&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0 5px 5px 5px;&amp;quot;&amp;gt;&lt;br /&gt;
Для того, чтобы создать файл phpinfo необходимо:&amp;lt;br /&amp;gt;&lt;br /&gt;
1. Создать текстовый файл&amp;lt;br /&amp;gt;&lt;br /&gt;
2. Открыть его блокнотом&amp;lt;br /&amp;gt;&lt;br /&gt;
3. Сделать запись &amp;lt;?php phpinfo(); ?&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
4. Сохранить файл на сервере в корневой директории с именем phpinfo.php &amp;lt;br /&amp;gt;&lt;br /&gt;
5. Проверить, что файл доступен по запросу http://developer.domain.ru/phpinfo.php&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[category:Лицензионные ключи]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=World_wide_web_(%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8_%D1%81_www_%D0%B8_%D0%B1%D0%B5%D0%B7_%D0%B2_%D1%84%D0%B0%D0%B9%D0%BB%D0%B5_.htaccess)&amp;diff=8035</id>
		<title>World wide web (настройка редиректа между зеркалами с www и без в файле .htaccess)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=World_wide_web_(%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8_%D1%81_www_%D0%B8_%D0%B1%D0%B5%D0%B7_%D0%B2_%D1%84%D0%B0%D0%B9%D0%BB%D0%B5_.htaccess)&amp;diff=8035"/>
		<updated>2016-09-13T08:53:42Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «World wide web (настройка редиректа между зеркалами с www и без в фале .htaccess)» в «[[World wide web (настройка редиректа между зеркалами с www &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Часто, для SEO продвижения или ещё каких либо целей требуется, чтобы сайт всегда открывался только с www.domain.ru или наоборот, без &amp;#039;www&amp;#039;, т.е. domain.ru&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы это реализовать можно добавить простое правило в файл дополнительной конфигурации сервера &amp;quot;.htaccess&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Находится он в корневой директории и открывается любым текстовым редактором.&lt;br /&gt;
&lt;br /&gt;
Правило следует писать самым первым, чтобы оно перекрывало собой все правила UMI.CMS.&lt;br /&gt;
&lt;br /&gt;
Кириллические домены нужно конвертировать в punycode: https://www.punycoder.com/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Для основного домена без www&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
#Включаем работу механизма преобразований.&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
#Проверяем, что текущий хост выглядит как http://www.domain.ru&lt;br /&gt;
#Флаг NC (No Case), позволяет игнорировать регистр при проверке&lt;br /&gt;
RewriteCond %{HTTP_HOST} ^www.domain.ru$ [NC]&lt;br /&gt;
#Перенаправляем запрос на хост без www, 301 редирект&lt;br /&gt;
#Флаг L запрещает дальнейшую обработку правил в этом запросе&lt;br /&gt;
RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Для основного домена с www&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
#Включаем работу механизма преобразований.&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
#Проверяем, что текущий хост выглядит как http://domain.ru&lt;br /&gt;
#Флаг NC (No Case), позволяет игнорировать регистр при проверке&lt;br /&gt;
RewriteCond %{HTTP_HOST} ^domain.ru$ [NC]&lt;br /&gt;
#Перенаправляем запрос на хост c www, 301 редирект&lt;br /&gt;
#Флаг L запрещает дальнейшую обработку правил в этом запросе&lt;br /&gt;
RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[category:.htaccess]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=World_wide_web_(%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8_%D1%81_www_%D0%B8_%D0%B1%D0%B5%D0%B7_%D0%B2_%D1%84%D0%B0%D0%BB%D0%B5_.htaccess)&amp;diff=8036</id>
		<title>World wide web (настройка редиректа между зеркалами с www и без в фале .htaccess)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=World_wide_web_(%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8_%D1%81_www_%D0%B8_%D0%B1%D0%B5%D0%B7_%D0%B2_%D1%84%D0%B0%D0%BB%D0%B5_.htaccess)&amp;diff=8036"/>
		<updated>2016-09-13T08:53:42Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «World wide web (настройка редиректа между зеркалами с www и без в фале .htaccess)» в «[[World wide web (настройка редиректа между зеркалами с www &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[World wide web (настройка редиректа между зеркалами с www и без в файле .htaccess)]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=World_wide_web_(%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8_%D1%81_www_%D0%B8_%D0%B1%D0%B5%D0%B7_%D0%B2_%D1%84%D0%B0%D0%B9%D0%BB%D0%B5_.htaccess)&amp;diff=8033</id>
		<title>World wide web (настройка редиректа между зеркалами с www и без в файле .htaccess)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=World_wide_web_(%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8_%D1%81_www_%D0%B8_%D0%B1%D0%B5%D0%B7_%D0%B2_%D1%84%D0%B0%D0%B9%D0%BB%D0%B5_.htaccess)&amp;diff=8033"/>
		<updated>2016-09-13T08:52:44Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «World wide web» в «World wide web (настройка редиректа между зеркалами с www и без в фале .htaccess)»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Часто, для SEO продвижения или ещё каких либо целей требуется, чтобы сайт всегда открывался только с www.domain.ru или наоборот, без &amp;#039;www&amp;#039;, т.е. domain.ru&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы это реализовать можно добавить простое правило в файл дополнительной конфигурации сервера &amp;quot;.htaccess&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Находится он в корневой директории и открывается любым текстовым редактором.&lt;br /&gt;
&lt;br /&gt;
Правило следует писать самым первым, чтобы оно перекрывало собой все правила UMI.CMS.&lt;br /&gt;
&lt;br /&gt;
Кириллические домены нужно конвертировать в punycode: https://www.punycoder.com/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Для основного домена без www&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
#Включаем работу механизма преобразований.&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
#Проверяем, что текущий хост выглядит как http://www.domain.ru&lt;br /&gt;
#Флаг NC (No Case), позволяет игнорировать регистр при проверке&lt;br /&gt;
RewriteCond %{HTTP_HOST} ^www.domain.ru$ [NC]&lt;br /&gt;
#Перенаправляем запрос на хост без www, 301 редирект&lt;br /&gt;
#Флаг L запрещает дальнейшую обработку правил в этом запросе&lt;br /&gt;
RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Для основного домена с www&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
#Включаем работу механизма преобразований.&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
#Проверяем, что текущий хост выглядит как http://domain.ru&lt;br /&gt;
#Флаг NC (No Case), позволяет игнорировать регистр при проверке&lt;br /&gt;
RewriteCond %{HTTP_HOST} ^domain.ru$ [NC]&lt;br /&gt;
#Перенаправляем запрос на хост c www, 301 редирект&lt;br /&gt;
#Флаг L запрещает дальнейшую обработку правил в этом запросе&lt;br /&gt;
RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[category:.htaccess]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=World_wide_web&amp;diff=8034</id>
		<title>World wide web</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=World_wide_web&amp;diff=8034"/>
		<updated>2016-09-13T08:52:44Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «World wide web» в «World wide web (настройка редиректа между зеркалами с www и без в фале .htaccess)»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[World wide web (настройка редиректа между зеркалами с www и без в фале .htaccess)]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8_%D0%BF%D1%80%D0%B8_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81_1%D0%A1&amp;diff=8032</id>
		<title>Изменение иерархии при обмене данными с 1С</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8_%D0%BF%D1%80%D0%B8_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81_1%D0%A1&amp;diff=8032"/>
		<updated>2016-09-13T08:44:38Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;В статье [[Как_переместить_страницу_если_её_раздел_поменялся]] есть более простое решение&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
При импорте из CommerceML2.0 объекты располагаются в том иерархическом порядке, в котором они были в исходном файле, в дальнейшем, при обновлении данных средствами импорта их положение уже не изменяется, а обращение к объекту идёт напрямую по его идентификатору. Если требуется при обмене данными с 1С изменять иерархию в соответствии с импортируемыми данными, то необходимо добавить соответствующую обработку в шаблон импорт.&amp;lt;br /&amp;gt;&lt;br /&gt;
Перед импортом входящая информация из commerceML2.0 трансформируется по XSLT шаблону в формат UmiDump2.0. За иерархические связи в UmiDump отвечает нода &amp;lt;hierarchy&amp;gt;. Для того чтобы при импорте структура каталога обновлялась, необходимо чтобы после трансформации в UmiDump в нём были записи об иерархических связях. Для этого скопируем содержимое файла ~/xsl/import/commerceML2.xsl в ~/xsl/import/custom/commerceML2.xsl удалив строку &amp;lt;xsl:include href=&amp;quot;custom/commerceML2.xsl&amp;quot; /&amp;gt;.&lt;br /&gt;
После этого находим шаблон&lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;umidump xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; version=&amp;quot;2.0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/Классификатор&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/Каталог&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/ПакетПредложений&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;count(КоммерческаяИнформация/Документ)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация&amp;quot; mode=&amp;quot;document&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/umidump&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
и изменяем его, подключив два шаблона&lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;umidump xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; version=&amp;quot;2.0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/Классификатор&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/Каталог&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/ПакетПредложений&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;count(КоммерческаяИнформация/Документ)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация&amp;quot; mode=&amp;quot;document&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
	    &amp;lt;xsl:variable name=&amp;quot;classid&amp;quot; select=&amp;quot;КоммерческаяИнформация/Классификатор/Ид&amp;quot; /&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
            &amp;lt;hierarchy&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/Каталог/Товары/Товар&amp;quot; mode=&amp;quot;hierarchy&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-templates select=&amp;quot;КоммерческаяИнформация/Классификатор/Группы&amp;quot; mode=&amp;quot;hierarchy&amp;quot;&amp;gt;&lt;br /&gt;
		    &amp;lt;xsl:with-param name=&amp;quot;classid&amp;quot;&amp;gt;&lt;br /&gt;
		        &amp;lt;xsl:copy-of select=&amp;quot;$classid&amp;quot; /&amp;gt;&lt;br /&gt;
		    &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:apply-templates&amp;gt;					&lt;br /&gt;
            &amp;lt;/hierarchy&amp;gt;&lt;br /&gt;
        &amp;lt;/umidump&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
теперь добавим эти шаблоны в наш кастомный файл:&lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;КоммерческаяИнформация/Каталог/Товары/Товар&amp;quot; mode=&amp;quot;hierarchy&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;relation id=&amp;quot;{Ид}&amp;quot; parent-id=&amp;quot;{Группы/Ид}&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;КоммерческаяИнформация/Классификатор/Группы&amp;quot; mode=&amp;quot;hierarchy&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;classid&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;//Группа&amp;quot; &amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:with-param name=&amp;quot;classid&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:copy-of select=&amp;quot;$classid&amp;quot; /&amp;gt;&lt;br /&gt;
	    &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:apply-templates&amp;gt;		&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;//Группа&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;xsl:param name=&amp;quot;classid&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;name(../../.) = &amp;#039;Классификатор&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;relation id=&amp;quot;{Ид}&amp;quot; parent-id=&amp;quot;{$classid}&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;	&lt;br /&gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;Группы/Группа&amp;quot; mode=&amp;quot;ghierarchy&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:with-param name=&amp;quot;parent&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:copy-of select=&amp;quot;Ид&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;Группы/Группа&amp;quot; mode=&amp;quot;ghierarchy&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;parent&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;relation id=&amp;quot;{Ид}&amp;quot; parent-id=&amp;quot;{$parent}&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates select=&amp;quot;Группы/Группа&amp;quot; mode=&amp;quot;ghierarchy&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:with-param name=&amp;quot;parent&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:copy-of select=&amp;quot;Ид&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:with-param&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:apply-templates&amp;gt;			&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
теперь при обмене данными с 1С иерархия будет изменятся в соответствии с иерархией из импортируемого файла.&lt;br /&gt;
[[Категория:Модуль Обмен данными]] [[category:Интеграция с 1С]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B8%D0%B7%D0%B1%D0%B5%D0%B6%D0%B0%D1%82%D1%8C_%D1%83%D1%85%D1%83%D0%B4%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_SEO_%D0%BF%D1%80%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BA%D0%BE%D0%BF%D0%B8%D0%B9&amp;diff=8026</id>
		<title>Как избежать ухудшения SEO при использовании виртуальных копий</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B8%D0%B7%D0%B1%D0%B5%D0%B6%D0%B0%D1%82%D1%8C_%D1%83%D1%85%D1%83%D0%B4%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_SEO_%D0%BF%D1%80%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BA%D0%BE%D0%BF%D0%B8%D0%B9&amp;diff=8026"/>
		<updated>2016-06-29T14:21:44Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: /* Код макроса */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9.5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Задача ==&lt;br /&gt;
&lt;br /&gt;
Когда у Вас на сайте очень большой каталог бывает полезно размешать виртуальные копии одного товара в разных разделах. Но это плохо сказывается на SEO, так как происходит дублирование контента по разным адресам Вашего сайта.&lt;br /&gt;
Решить проблему можно с помощью Google Canonical [http://dev.docs.umi-cms.ru/shablony_i_makrosy/model_dannyh_umicms/stranicy_v_umicms/google_canonical/], но Вы же не хотите добавлять его вручную. &lt;br /&gt;
Необходимо написать кастомный макрос, пример оного дан ниже. &lt;br /&gt;
&lt;br /&gt;
== Решение ==&lt;br /&gt;
&lt;br /&gt;
%custom makeRelCanonical()% — выводит Google Canonical для страницы.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Параметры: custom makeRelCanonical([$page_id = false])&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;$page_id &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   Идентификатор страницы, Google Canonical которой требуется вывести. Если параметр не указан, то берется id текущей страницы, макрос нельзя вызывать через HTTP SCHEME MODE без указания этого параметра.&lt;br /&gt;
&lt;br /&gt;
Для применения этого макроса скопируйте код макроса в файл /classes/modules/custom.php.&lt;br /&gt;
&lt;br /&gt;
== Код макроса ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function makeRelCanonical($page_id = false){&lt;br /&gt;
		&lt;br /&gt;
			$current_page_id = cmsController::getInstance()-&amp;gt;getCurrentElementId();&lt;br /&gt;
			$hierarchy_col = umiHierarchy::getInstance();&lt;br /&gt;
			$domain_col = domainsCollection::getInstance(); &lt;br /&gt;
			&lt;br /&gt;
			if($page_id == false){&lt;br /&gt;
				if($current_page_id == false){&lt;br /&gt;
					return &amp;#039;&amp;#039;;&lt;br /&gt;
				}				&lt;br /&gt;
				if(defined(&amp;#039;VIA_HTTP_SCHEME&amp;#039;)){&lt;br /&gt;
					throw new publicException(&amp;#039;cant get current element via HTTP SCHEME MODE&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
				$page_id = $current_page_id;&lt;br /&gt;
				$page = $hierarchy_col-&amp;gt;getElement($page_id, true, true);&lt;br /&gt;
				$object_id = $page-&amp;gt;getObjectId();&lt;br /&gt;
				$parents_ids = $hierarchy_col-&amp;gt;getObjectInstances($object_id, true, true);&lt;br /&gt;
				if(count($parents_ids) == 0 || count($parents_ids) == 1 || $parents_ids[0] == $page_id){&lt;br /&gt;
					return &amp;#039;&amp;#039;;&lt;br /&gt;
				}&lt;br /&gt;
				$first_parent_id = $parents_ids[0];			&lt;br /&gt;
				$path = $hierarchy_col-&amp;gt;getPathById($first_parent_id);			&lt;br /&gt;
				$domain_id = $hierarchy_col-&amp;gt;getElement($first_parent_id, true, true)-&amp;gt;getDomainId();			&lt;br /&gt;
				$domain_name = $domain_col-&amp;gt;getDomain($domain_id)-&amp;gt;getHost();&lt;br /&gt;
				&lt;br /&gt;
				return &amp;#039;&amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;&amp;#039; . &amp;#039;http://&amp;#039; . $domain_name . $path . &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;			&lt;br /&gt;
			}else{&lt;br /&gt;
				$page_id = intval($page_id);&lt;br /&gt;
				if($page_id == 0){&lt;br /&gt;
					throw new publicException(&amp;#039;wrong id given&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
				$page = $hierarchy_col-&amp;gt;getElement($page_id, true, true);&lt;br /&gt;
				if($page == false){&lt;br /&gt;
					throw new publicException(&amp;#039;page with id = &amp;#039; . $page_id . &amp;#039; not found&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
				$object_id = $page-&amp;gt;getObjectId();			&lt;br /&gt;
				$parents_ids = $hierarchy_col-&amp;gt;getObjectInstances($object_id, true, true);		&lt;br /&gt;
				if(count($parents_ids) == 0 || count($parents_ids) == 1 || $parents_ids[0] == $page_id){&lt;br /&gt;
					return &amp;#039;&amp;#039;;&lt;br /&gt;
				}&lt;br /&gt;
				$first_parent_id = $parents_ids[0];		&lt;br /&gt;
				$path = $hierarchy_col-&amp;gt;getPathById($first_parent_id);	&lt;br /&gt;
				$domain_id = $hierarchy_col-&amp;gt;getElement($first_parent_id, true, true)-&amp;gt;getDomainId();	&lt;br /&gt;
				$domain_name = $domain_col-&amp;gt;getDomain($domain_id)-&amp;gt;getHost();&lt;br /&gt;
		&lt;br /&gt;
				return &amp;#039;&amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;&amp;#039; . &amp;#039;http://&amp;#039; . $domain_name . $path . &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Макрос работает следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;валидирует id и получает страницу&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;проверяет есть ли у этой страницы виртуальные копии,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;если есть, то берется первая страницы, с которой были сделаны копии, и выводится &amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;путь_первоначальной_страницы&amp;quot;/&amp;gt;,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;если копий нет или передан id первоначальной страницы, то ничего не выводится.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Макрос нужно помещать внутрь тега &amp;lt;head&amp;gt;.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример вызова в xslt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;document(&amp;#039;udata://custom/makeRelCanonical/&amp;#039;)/udata&amp;quot; disable-output-escaping=&amp;quot;yes&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример вызова в tpl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
%custom makeRelCanonical()%&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Дополнительно ==&lt;br /&gt;
&lt;br /&gt;
А для того, чтобы системный поиск в UMI.CMS убирал виртуальные копии из выдачи, примените решение из статьи:&lt;br /&gt;
[[Как_убрать_виртуальные_копии_из_результатов_поиска]]&lt;br /&gt;
 [[category:Модуль SEO]][[Категория:Решение проблем и ошибок]][[Категория: API]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B8%D0%B7%D0%B1%D0%B5%D0%B6%D0%B0%D1%82%D1%8C_%D1%83%D1%85%D1%83%D0%B4%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_SEO_%D0%BF%D1%80%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BA%D0%BE%D0%BF%D0%B8%D0%B9&amp;diff=8023</id>
		<title>Как избежать ухудшения SEO при использовании виртуальных копий</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B8%D0%B7%D0%B1%D0%B5%D0%B6%D0%B0%D1%82%D1%8C_%D1%83%D1%85%D1%83%D0%B4%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_SEO_%D0%BF%D1%80%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BA%D0%BE%D0%BF%D0%B8%D0%B9&amp;diff=8023"/>
		<updated>2016-06-29T09:59:03Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: /* Код макроса */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9.5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Задача ==&lt;br /&gt;
&lt;br /&gt;
Когда у Вас на сайте очень большой каталог бывает полезно размешать виртуальные копии одного товара в разных разделах. Но это плохо сказывается на SEO, так как происходит дублирование контента по разным адресам Вашего сайта.&lt;br /&gt;
Решить проблему можно с помощью Google Canonical [http://dev.docs.umi-cms.ru/shablony_i_makrosy/model_dannyh_umicms/stranicy_v_umicms/google_canonical/], но Вы же не хотите добавлять его вручную. &lt;br /&gt;
Необходимо написать кастомный макрос, пример оного дан ниже. &lt;br /&gt;
&lt;br /&gt;
== Решение ==&lt;br /&gt;
&lt;br /&gt;
%custom makeRelCanonical()% — выводит Google Canonical для страницы.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Параметры: custom makeRelCanonical([$page_id = false])&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;$page_id &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   Идентификатор страницы, Google Canonical которой требуется вывести. Если параметр не указан, то берется id текущей страницы, макрос нельзя вызывать через HTTP SCHEME MODE без указания этого параметра.&lt;br /&gt;
&lt;br /&gt;
Для применения этого макроса скопируйте код макроса в файл /classes/modules/custom.php.&lt;br /&gt;
&lt;br /&gt;
== Код макроса ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function makeRelCanonical($page_id = false){&lt;br /&gt;
		&lt;br /&gt;
			$current_page_id = cmsController::getInstance()-&amp;gt;getCurrentElementId();&lt;br /&gt;
			$hierarchy_col = umiHierarchy::getInstance();&lt;br /&gt;
			$domain_col = domainsCollection::getInstance(); &lt;br /&gt;
			&lt;br /&gt;
			if($page_id == false){&lt;br /&gt;
				if($current_page_id == false){&lt;br /&gt;
					throw new publicException(&amp;#039;cant get current page id&amp;#039;);&lt;br /&gt;
				}				&lt;br /&gt;
				if(defined(&amp;#039;VIA_HTTP_SCHEME&amp;#039;)){&lt;br /&gt;
					throw new publicException(&amp;#039;cant get current element via HTTP SCHEME MODE&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
				$page_id = $current_page_id;&lt;br /&gt;
				$page = $hierarchy_col-&amp;gt;getElement($page_id, true, true);&lt;br /&gt;
				$object_id = $page-&amp;gt;getObjectId();&lt;br /&gt;
				$parents_ids = $hierarchy_col-&amp;gt;getObjectInstances($object_id, true, true);&lt;br /&gt;
				if(count($parents_ids) == 0 || count($parents_ids) == 1 || $parents_ids[0] == $page_id){&lt;br /&gt;
					return &amp;#039;&amp;#039;;&lt;br /&gt;
				}&lt;br /&gt;
				$first_parent_id = $parents_ids[0];			&lt;br /&gt;
				$path = $hierarchy_col-&amp;gt;getPathById($first_parent_id);			&lt;br /&gt;
				$domain_id = $hierarchy_col-&amp;gt;getElement($first_parent_id, true, true)-&amp;gt;getDomainId();			&lt;br /&gt;
				$domain_name = $domain_col-&amp;gt;getDomain($domain_id)-&amp;gt;getHost();&lt;br /&gt;
				&lt;br /&gt;
				return &amp;#039;&amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;&amp;#039; . &amp;#039;http://&amp;#039; . $domain_name . $path . &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;			&lt;br /&gt;
			}else{&lt;br /&gt;
				$page_id = intval($page_id);&lt;br /&gt;
				if($page_id == 0){&lt;br /&gt;
					throw new publicException(&amp;#039;wrong id given&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
				$page = $hierarchy_col-&amp;gt;getElement($page_id, true, true);&lt;br /&gt;
				if($page == false){&lt;br /&gt;
					throw new publicException(&amp;#039;page with id = &amp;#039; . $page_id . &amp;#039; not found&amp;#039;);&lt;br /&gt;
				}&lt;br /&gt;
				$object_id = $page-&amp;gt;getObjectId();			&lt;br /&gt;
				$parents_ids = $hierarchy_col-&amp;gt;getObjectInstances($object_id, true, true);		&lt;br /&gt;
				if(count($parents_ids) == 0 || count($parents_ids) == 1 || $parents_ids[0] == $page_id){&lt;br /&gt;
					return &amp;#039;&amp;#039;;&lt;br /&gt;
				}&lt;br /&gt;
				$first_parent_id = $parents_ids[0];		&lt;br /&gt;
				$path = $hierarchy_col-&amp;gt;getPathById($first_parent_id);	&lt;br /&gt;
				$domain_id = $hierarchy_col-&amp;gt;getElement($first_parent_id, true, true)-&amp;gt;getDomainId();	&lt;br /&gt;
				$domain_name = $domain_col-&amp;gt;getDomain($domain_id)-&amp;gt;getHost();&lt;br /&gt;
		&lt;br /&gt;
				return &amp;#039;&amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;&amp;#039; . &amp;#039;http://&amp;#039; . $domain_name . $path . &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Макрос работает следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;валидирует id и получает страницу&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;проверяет есть ли у этой страницы виртуальные копии,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;если есть, то берется первая страницы, с которой были сделаны копии, и выводится &amp;lt;link rel=&amp;quot;canonical&amp;quot; href=&amp;quot;путь_первоначальной_страницы&amp;quot;/&amp;gt;,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;если копий нет или передан id первоначальной страницы, то ничего не выводится.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Макрос нужно помещать внутрь тега &amp;lt;head&amp;gt;.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример вызова в xslt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;document(&amp;#039;udata://custom/makeRelCanonical/&amp;#039;)/udata&amp;quot; disable-output-escaping=&amp;quot;yes&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример вызова в tpl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
%custom makeRelCanonical()%&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Дополнительно ==&lt;br /&gt;
&lt;br /&gt;
А для того, чтобы системный поиск в UMI.CMS убирал виртуальные копии из выдачи, примените решение из статьи:&lt;br /&gt;
[[Как_убрать_виртуальные_копии_из_результатов_поиска]]&lt;br /&gt;
 [[category:Модуль SEO]][[Категория:Решение проблем и ошибок]][[Категория: API]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8,_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B%3F_(jquery)&amp;diff=8016</id>
		<title>Как сделать вкладки, без перезагрузки страницы? (jquery)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8,_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B%3F_(jquery)&amp;diff=8016"/>
		<updated>2016-05-25T08:22:42Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «Как сделать вкладки, без перезагрузки страницы? (AJAX)» в «Как сделать вкладки, без перезагрузки страницы? (jquery)»:&amp;amp;#32;Содержи&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Вероятно, Вы видели, как на некоторых страницах реализована функция переключения между различными вкладками без перезагрузки страницы.&lt;br /&gt;
Это удобно и часто облегчает навигацию по странице.&amp;lt;br/&amp;gt;&lt;br /&gt;
Ниже описано, как подключить похожий функционал к UMI.CMS&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы будем использовать уже готовое решение, опубликованное на сайте www.flowplayer.org. Итоговый вариант будет выглядеть примерно так:&amp;lt;br/&amp;gt;&lt;br /&gt;
 http://flowplayer.org/tools/demos/tabs/index.htm&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Для начала создадим обычный tpl шаблон и добавим в него запись следующего вида:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- the tabs --&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;tabs&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Tab 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Tab 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Tab 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- tab &amp;quot;panes&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;panes&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;%test1%&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;%test2%&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;%test3%&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Количество вкладок может быть любым.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь необходимо подключить обработчик. Это делается следующей записью:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// perform JavaScript after the document is scriptable.&lt;br /&gt;
$(function() {&lt;br /&gt;
	// setup ul.tabs to work as tabs for each div directly under div.panes&lt;br /&gt;
	$(&amp;quot;ul.tabs&amp;quot;).tabs(&amp;quot;div.panes &amp;gt; div&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Осталось подключить необходимые скрипты и стили CSS. Чтобы подключить первую часть стилей, между тэгами &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt; надо добавить такую запись:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/* tab pane styling */&lt;br /&gt;
.panes div {&lt;br /&gt;
	display:none;		&lt;br /&gt;
	padding:15px 10px;&lt;br /&gt;
	border:1px solid #999;&lt;br /&gt;
	border-top:0;&lt;br /&gt;
	height:100px;&lt;br /&gt;
	font-size:14px;&lt;br /&gt;
	background-color:#fff;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подключить основные стили и скрипты:&lt;br /&gt;
Скачать необходимые стили для css и картикиоформления можно здесь [[Файл:Cms-tabs.zip]]. Этот архив необходимо распаковать в папку  &amp;quot;\css\cms\&amp;quot;. Как вариант, Вы можете скачать стили и оформление здесь: http://flowplayer.org/tools/css/tabs-no-images.css и http://flowplayer.org/tools/img/tabs/tabs.zip. Но тогда надо будет самостоятельно подправить пути в файле стиля, до нужных картинок. В шаблоне эти скрипты подключаются записью &lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/cms/tabs.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Теперь осталось подключить сам скрипт. Он называется jquery.tools.min.js и добавить его надо в папку &amp;quot;js&amp;quot;. Затем в шаблоне добавить в &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt; запись вида:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;/js/jquery.tools.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Скачать этот скрипт можно здесь [[Файл:Jquery.tools.min.zip]] или на сайте http://flowplayer.org/tools/download/index.html. Только нужно в вариантах скачки оставить галочку только напротив Tabs,иначе скачаются лишние функции и могут стать недоступны некоторые функции EIP.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Итоговый вид tpl-шаблона может выглядеть примерно так&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;ru&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/css/cms/style.css&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/css/cms/home.css&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
			if (navigator.appName == &amp;quot;Opera&amp;quot;) document.write(&amp;#039;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/css/cms/styleOpera.css&amp;quot;/&amp;gt;&amp;#039;);&lt;br /&gt;
		&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;title&amp;gt;%title%&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;meta name=&amp;quot;DESCRIPTION&amp;quot; content=&amp;quot;%description%&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;meta name=&amp;quot;KEYWORDS&amp;quot; content=&amp;quot;%keywords%&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/js/cross-domain.php&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
		&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/js/client/vote.js&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		%system includeQuickEditJs()%&lt;br /&gt;
        %system includeEditInPlaceJs()%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        %data getRssMeta(%pid%)%&lt;br /&gt;
        %data getAtomMeta(%pid%)%&lt;br /&gt;
	&amp;lt;!-- include the Tools --&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;/js/jquery.tools.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	 &lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- standalone page styling (can be removed) --&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- tab styling --&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- tab pane styling --&amp;gt;&lt;br /&gt;
	&amp;lt;style&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
/* tab pane styling */&lt;br /&gt;
.panes div {&lt;br /&gt;
	display:none;		&lt;br /&gt;
	padding:15px 10px;&lt;br /&gt;
	border:1px solid #999;&lt;br /&gt;
	border-top:0;&lt;br /&gt;
	height:100px;&lt;br /&gt;
	font-size:14px;&lt;br /&gt;
	background-color:#fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;body id=&amp;quot;umi-cms-demo&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			%system getOuterContent(&amp;#039;./tpls/content/header.inc.tpl&amp;#039;)%&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
				&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
					&amp;lt;div&amp;gt;&lt;br /&gt;
						&amp;lt;h2 umi:element-id=&amp;quot;%pid%&amp;quot; umi:field-name=&amp;quot;h1&amp;quot;&amp;gt;%header%&amp;lt;/h2&amp;gt;&lt;br /&gt;
						&amp;lt;div umi:element-id=&amp;quot;%pid%&amp;quot; umi:field-name=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- the tabs --&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;tabs&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Tab 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Tab 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Tab 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- tab &amp;quot;panes&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;panes&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;%test1%&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;%test2%&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;%test3%&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This JavaScript snippet activates those tabs --&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// perform JavaScript after the document is scriptable.&lt;br /&gt;
$(function() {&lt;br /&gt;
	// setup ul.tabs to work as tabs for each div directly under div.panes&lt;br /&gt;
	$(&amp;quot;ul.tabs&amp;quot;).tabs(&amp;quot;div.panes &amp;gt; div&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
						&amp;lt;/div&amp;gt;&lt;br /&gt;
					&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
&lt;br /&gt;
					&lt;br /&gt;
					%vote insertlast(&amp;#039;home&amp;#039;)%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			%system getOuterContent(&amp;#039;./tpls/content/footer.inc.tpl&amp;#039;)%&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Здесь &amp;lt;b&amp;gt;%test1% %test2%&amp;lt;/b&amp;gt; и &amp;lt;b&amp;gt;%test3%&amp;lt;/b&amp;gt; это идентификаторы полей в административной панели, значения которых буду подставляться в соответствующую вкладку. Разумеется, этих полей может быть несколько.&amp;lt;br/&amp;gt;&lt;br /&gt;
Осталось только добавить этот шаблон в настройках модуля &amp;quot;Структура&amp;quot;.&lt;br /&gt;
[[Категория:Верстка в TPL]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8,_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B%3F_(AJAX)&amp;diff=8017</id>
		<title>Как сделать вкладки, без перезагрузки страницы? (AJAX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8,_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B%3F_(AJAX)&amp;diff=8017"/>
		<updated>2016-05-25T08:22:42Z</updated>

		<summary type="html">&lt;p&gt;Perevozchikov.ilya: переименовал «Как сделать вкладки, без перезагрузки страницы? (AJAX)» в «Как сделать вкладки, без перезагрузки страницы? (jquery)»:&amp;amp;#32;Содержи&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Как сделать вкладки, без перезагрузки страницы? (jquery)]]&lt;/div&gt;</summary>
		<author><name>Perevozchikov.ilya</name></author>
		
	</entry>
</feed>