<?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=Velross</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=Velross"/>
	<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/Velross"/>
	<updated>2026-04-23T21:51:45Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7914</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7914"/>
		<updated>2014-10-06T09:19:28Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]][[Файл:Screenshot-by-nimbus.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Screenshot-by-nimbus (1).png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Снимок экрана от 2014-10-06 13-12-02.png]][[Файл:Screenshot-by-nimbus (2).png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus_(2).png&amp;diff=7913</id>
		<title>Файл:Screenshot-by-nimbus (2).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus_(2).png&amp;diff=7913"/>
		<updated>2014-10-06T09:19:05Z</updated>

		<summary type="html">&lt;p&gt;Velross: загружена новая версия «Файл:Screenshot-by-nimbus (2).png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7912</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7912"/>
		<updated>2014-10-06T09:16:33Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]][[Файл:Screenshot-by-nimbus.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Screenshot-by-nimbus (1).png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Снимок экрана от 2014-10-06 13-12-02.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7911</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7911"/>
		<updated>2014-10-06T09:15:49Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]][[Файл:Screenshot-by-nimbus.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Screenshot-by-nimbus (1).png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Снимок экрана от 2014-10-06 13-12-02.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7910</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7910"/>
		<updated>2014-10-06T09:15:08Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]][[Файл:Screenshot-by-nimbus.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Screenshot-by-nimbus (1).png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Skidka002.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Skidka002.png&amp;diff=7909</id>
		<title>Файл:Skidka002.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Skidka002.png&amp;diff=7909"/>
		<updated>2014-10-06T09:14:01Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0_%D0%BE%D1%82_2014-10-06_13-12-02.png&amp;diff=7908</id>
		<title>Файл:Снимок экрана от 2014-10-06 13-12-02.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0_%D0%BE%D1%82_2014-10-06_13-12-02.png&amp;diff=7908"/>
		<updated>2014-10-06T09:13:17Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7907</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7907"/>
		<updated>2014-10-06T09:08:22Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]][[Файл:Screenshot-by-nimbus.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Screenshot-by-nimbus (1).png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus_(1).png&amp;diff=7906</id>
		<title>Файл:Screenshot-by-nimbus (1).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus_(1).png&amp;diff=7906"/>
		<updated>2014-10-06T09:07:51Z</updated>

		<summary type="html">&lt;p&gt;Velross: загружена новая версия «Файл:Screenshot-by-nimbus (1).png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus_(1).png&amp;diff=7905</id>
		<title>Файл:Screenshot-by-nimbus (1).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus_(1).png&amp;diff=7905"/>
		<updated>2014-10-06T09:07:43Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7904</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7904"/>
		<updated>2014-10-06T09:06:07Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]][[Файл:Screenshot-by-nimbus.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus.png&amp;diff=7903</id>
		<title>Файл:Screenshot-by-nimbus.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Screenshot-by-nimbus.png&amp;diff=7903"/>
		<updated>2014-10-06T09:05:45Z</updated>

		<summary type="html">&lt;p&gt;Velross: загружена новая версия «Файл:Screenshot-by-nimbus.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7902</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7902"/>
		<updated>2014-10-06T09:04:04Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7901</id>
		<title>Скидка по карте</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B8%D0%B4%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%BA%D0%B0%D1%80%D1%82%D0%B5&amp;diff=7901"/>
		<updated>2014-10-06T09:03:25Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Верстка в XSLT]]&lt;br /&gt;
&lt;br /&gt;
Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Skidkapokarte01.png]]&lt;br /&gt;
В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&lt;br /&gt;
Далее нужно создать новый тип, дочерний к типу &amp;quot;правила скидок&amp;quot;. Идентификатор - counts, Тип скидки - на заказ, тип данных - id созданного ранее типа данных с номерами карт.&lt;br /&gt;
В типе данных &amp;quot;Пользователь&amp;quot; необходимо добавить поле для номера дисконтной карты (пользователь сможет заполнить его в личном кабинете). В примере - card_discount.&lt;br /&gt;
При создании новой скидки выберем тип &amp;quot;на заказ&amp;quot; и в качестве правила скидки - созданное выше.&lt;br /&gt;
В файле /classes/modules/emarket/classes/discounts/rules/counts.php (его необходимо создать) пишем следующий код:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class countsDiscountRule extends discountRule implements orderDiscountRule {&lt;br /&gt;
 &lt;br /&gt;
  public function validateOrder(order $order) {&lt;br /&gt;
	&lt;br /&gt;
	$permissions = permissionsCollection::getInstance();&lt;br /&gt;
	$currentUserId = $permissions-&amp;gt;getUserId();&lt;br /&gt;
	$objects = umiObjectsCollection::getInstance();&lt;br /&gt;
	$userObject = $objects-&amp;gt;getObject($currentUserId);&lt;br /&gt;
	&lt;br /&gt;
	if($userObject instanceof umiObject) {&lt;br /&gt;
		$cardNum = $userObject-&amp;gt;getValue(&amp;quot;card_discount&amp;quot;); &lt;br /&gt;
		$nums = new selector (&amp;#039;objects&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;id(&amp;#039;127&amp;#039;);&lt;br /&gt;
		$nums-&amp;gt;where(&amp;#039;name&amp;#039;)-&amp;gt;equals($cardNum);&lt;br /&gt;
		$res=$nums-&amp;gt;result;&lt;br /&gt;
		if(count($res)){&lt;br /&gt;
			return true;&lt;br /&gt;
		}else{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере 127 - это id созданного справочника с номерами карт.&lt;br /&gt;
Если номер карты, введенный пользователем в своем личном кабинете, будет найден в справочнике, то скидка активируется.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Skidkapokarte01.png&amp;diff=7900</id>
		<title>Файл:Skidkapokarte01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Skidkapokarte01.png&amp;diff=7900"/>
		<updated>2014-10-06T09:01:54Z</updated>

		<summary type="html">&lt;p&gt;Velross: загружена новая версия «Файл:Skidkapokarte01.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Skidkapokarte01.png&amp;diff=7899</id>
		<title>Файл:Skidkapokarte01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Skidkapokarte01.png&amp;diff=7899"/>
		<updated>2014-10-06T09:01:37Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=7895</id>
		<title>Добавление определённого количества товаров в корзину</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=7895"/>
		<updated>2014-07-09T07:20:25Z</updated>

		<summary type="html">&lt;p&gt;Velross: &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;
Для того чтобы добавить в корзину определённое количество товаров, нужно к ссылке добавления товара в корзину добавить GET параметр amount=количество_товара. При этом, в корзину будет добавлено нужное количество данного товара. Если же снова добавить этот же товар в корзину с дуругим значением параметра, то количество товара в корзине не увеличится на заданное значение, а поменяется на новое значение параметра amount.&lt;br /&gt;
Для того чтобы производилось суммирование, можно доработать стандартный метод basket. Скопируем его в файл ~/classes/modules/emarket/__custom.php после строки //TODO: Write here your own macroses и немного изменим. Код нового метода будет примерно следующим:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function basket_custom($mode = false, $itemType = false, $itemId = false) {&lt;br /&gt;
	$mode = $mode ? $mode : getRequest(&amp;#039;param0&amp;#039;);&lt;br /&gt;
        $emarket = cmsController::getInstance()-&amp;gt;getModule(&amp;#039;emarket&amp;#039;);&lt;br /&gt;
        $order = $emarket-&amp;gt;getBasketOrder(!in_array($mode, array(&amp;#039;put&amp;#039;, &amp;#039;remove&amp;#039;)));&lt;br /&gt;
	$itemType = $itemType ? $itemType : getRequest(&amp;#039;param1&amp;#039;);&lt;br /&gt;
	$itemId = (int) ($itemId ? $itemId : getRequest(&amp;#039;param2&amp;#039;));&lt;br /&gt;
	$amount = (int) getRequest(&amp;#039;amount&amp;#039;);&lt;br /&gt;
	$options = getRequest(&amp;#039;options&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	$order-&amp;gt;refresh();&lt;br /&gt;
&lt;br /&gt;
	if($mode == &amp;#039;put&amp;#039;) {&lt;br /&gt;
		$orderItem = ($itemType == &amp;#039;element&amp;#039;) ? $this-&amp;gt;getBasketItem($itemId) : $order-&amp;gt;getItem($itemId);&lt;br /&gt;
&lt;br /&gt;
		if (!$orderItem) {&lt;br /&gt;
			throw new publicException(&amp;quot;Order item is not defined&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(is_array($options)) {&lt;br /&gt;
		if($itemType != &amp;#039;element&amp;#039;) {&lt;br /&gt;
			throw new publicException(&amp;quot;Put basket method required element id of optionedOrderItem&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Get all orderItems&lt;br /&gt;
		$orderItems = $order-&amp;gt;getItems();&lt;br /&gt;
&lt;br /&gt;
		foreach($orderItems as $tOrderItem) {&lt;br /&gt;
			$itemOptions = $tOrderItem-&amp;gt;getOptions();&lt;br /&gt;
&lt;br /&gt;
			if(sizeof($itemOptions) != sizeof($options)) {&lt;br /&gt;
				$itemOptions = null;&lt;br /&gt;
				$tOrderItem = null;&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		if($tOrderItem-&amp;gt;getItemElement()-&amp;gt;id != $orderItem-&amp;gt;getItemElement()-&amp;gt;id) {&lt;br /&gt;
			$itemOptions = null;&lt;br /&gt;
			$tOrderItem = null;&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Compare each tOrderItem with options list&lt;br /&gt;
		foreach($options as $optionName =&amp;gt; $optionId) {&lt;br /&gt;
			$itemOption = getArrayKey($itemOptions, $optionName);&lt;br /&gt;
&lt;br /&gt;
			if(getArrayKey($itemOption, &amp;#039;option-id&amp;#039;) != $optionId) {&lt;br /&gt;
				$tOrderItem = null;&lt;br /&gt;
				continue 2;		// If does not match, create new item using options specified&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		break;	// If matches, stop loop and continue to amount change&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if(!isset($tOrderItem) || is_null($tOrderItem)) {&lt;br /&gt;
		$tOrderItem = orderItem::create($itemId);&lt;br /&gt;
		$order-&amp;gt;appendItem($tOrderItem);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if($tOrderItem instanceof optionedOrderItem) {&lt;br /&gt;
		foreach($options as $optionName =&amp;gt; $optionId) {&lt;br /&gt;
			if($optionId) {&lt;br /&gt;
				$tOrderItem-&amp;gt;appendOption($optionName, $optionId);&lt;br /&gt;
			} else {&lt;br /&gt;
				$tOrderItem-&amp;gt;removeOption($optionName);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if($tOrderItem) {&lt;br /&gt;
		$orderItem = $tOrderItem;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$amount = $amount ? $amount : ($orderItem-&amp;gt;getAmount() + 1);&lt;br /&gt;
&lt;br /&gt;
$orderItem-&amp;gt;setAmount($amount+$orderItem-&amp;gt;getAmount());&lt;br /&gt;
$orderItem-&amp;gt;refresh();&lt;br /&gt;
&lt;br /&gt;
if($itemType == &amp;#039;element&amp;#039;) {&lt;br /&gt;
	$order-&amp;gt;appendItem($orderItem);&lt;br /&gt;
}&lt;br /&gt;
$order-&amp;gt;refresh();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if($mode == &amp;#039;remove&amp;#039;) {&lt;br /&gt;
	$orderItem = ($itemType == &amp;#039;element&amp;#039;) ? $this-&amp;gt;getBasketItem($itemId, false) : orderItem::get($itemId);&lt;br /&gt;
	if($orderItem instanceof orderItem) {&lt;br /&gt;
		$order-&amp;gt;removeItem($orderItem);&lt;br /&gt;
		$order-&amp;gt;refresh();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($mode == &amp;#039;remove_all&amp;#039;) {&lt;br /&gt;
	foreach ($order-&amp;gt;getItems() as $orderItem) {&lt;br /&gt;
		$order-&amp;gt;removeItem($orderItem);&lt;br /&gt;
	}&lt;br /&gt;
$order-&amp;gt;refresh();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$referer = getServer(&amp;#039;HTTP_REFERER&amp;#039;);&lt;br /&gt;
$noRedirect = getRequest(&amp;#039;no-redirect&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
if($redirectUri = getRequest(&amp;#039;redirect-uri&amp;#039;)) {&lt;br /&gt;
	$this-&amp;gt;redirect($redirectUri);&lt;br /&gt;
} else if (!defined(&amp;#039;VIA_HTTP_SCHEME&amp;#039;) &amp;amp;&amp;amp; !$noRedirect &amp;amp;&amp;amp; $referer) {&lt;br /&gt;
	$current = $_SERVER[&amp;#039;REQUEST_URI&amp;#039;];&lt;br /&gt;
	if(substr($referer, -strlen($current)) == $current) {&lt;br /&gt;
		if($itemType == &amp;#039;element&amp;#039;) {&lt;br /&gt;
			$referer = umiHierarchy::getInstance()-&amp;gt;getPathById($itemId);&lt;br /&gt;
		} else {&lt;br /&gt;
			$referer = &amp;quot;/&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	$this-&amp;gt;redirect($referer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$order-&amp;gt;refresh();&lt;br /&gt;
return $this-&amp;gt;order($order-&amp;gt;getId());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого товары можно добавлять товары в корзину можно будет ссылкой вида:&lt;br /&gt;
/emarket/basket_custom/put/element/10/?amount=количество_товара&lt;br /&gt;
и указанное количество товара будет добавляться к текущему количеству в корзине.&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B4%D0%BB%D1%8F_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_xml-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_XSLT&amp;diff=7894</id>
		<title>Универсальный метод для кэширования xml-данных в XSLT</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B4%D0%BB%D1%8F_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_xml-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_XSLT&amp;diff=7894"/>
		<updated>2014-07-08T06:51:34Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Некоторая информация по кэшированию xml-данных была представлена в данной статье:&lt;br /&gt;
[[Кэширование результата работы метода getCreateForm в XSL-шаблоне]]&lt;br /&gt;
&lt;br /&gt;
Универсальный метод, который необходимо добавить в файл &amp;#039;&amp;#039;&amp;#039;classes/modules/cutom.php&amp;#039;&amp;#039;&amp;#039;, может быть представлен в следующем виде:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function xsltCache($expire = 3600, $stream){&lt;br /&gt;
	$params_temp = array_slice(func_get_args(), 2);&lt;br /&gt;
	$params = array();&lt;br /&gt;
	&lt;br /&gt;
	foreach($params_temp as $param){&lt;br /&gt;
		$params[] = (strpos($param, &amp;#039;/&amp;#039;) !== FALSE) ? &amp;quot;(&amp;quot; . $param . &amp;quot;)&amp;quot; : $param;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$domain = cmsController::getInstance()-&amp;gt;getCurrentDomain()-&amp;gt;getId();&lt;br /&gt;
	$params_str = implode(&amp;#039;/&amp;#039;, $params);&lt;br /&gt;
	$url = $stream . &amp;quot;://&amp;quot; . $params_str;&lt;br /&gt;
	$requestParams = array();&lt;br /&gt;
	$allowedParams = array(&amp;#039;extProps&amp;#039;, &amp;#039;extGroups&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
	foreach($_REQUEST as $param =&amp;gt; $value) {&lt;br /&gt;
		if(!in_array($param, $allowedParams))&lt;br /&gt;
			continue;&lt;br /&gt;
		$requestParams[$param] = $value;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
        if(count($requestParams)) {&lt;br /&gt;
	        $url .= &amp;#039;/?&amp;#039;. http_build_query($requestParams);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
	$folder = CURRENT_WORKING_DIR . &amp;#039;/sys-temp/udatacache/&amp;#039;;&lt;br /&gt;
	$path = $folder . md5($domain. &amp;#039;_&amp;#039;. $url) . &amp;#039;.xml&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	if(!is_dir($folder)) mkdir($folder, 0777, true);&lt;br /&gt;
	if(is_file($path)) $mtime = filemtime($path);&lt;br /&gt;
	if(!is_file($path) || time() &amp;gt; ($mtime + $expire)) {&lt;br /&gt;
		$data = file_get_contents($url);&lt;br /&gt;
		file_put_contents($path, $data);&lt;br /&gt;
		return array(&amp;#039;plain:result&amp;#039; =&amp;gt; $data);&lt;br /&gt;
	}else{&lt;br /&gt;
		$result = file_get_contents($path);&lt;br /&gt;
		return array(&amp;#039;plain:result&amp;#039; =&amp;gt; $result);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
  &lt;br /&gt;
а сам вызов в XSL-шаблоне будет следующим:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udata://custom/xsltCache/3600/custom/lidersCustom/20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
где 3600 - время кэширования xml-данных в секундах,&lt;br /&gt;
custom - модуль&lt;br /&gt;
lidersCustom - метод&lt;br /&gt;
20 - один из параметров, их может быть больше одного&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Статья доработана по рекомендациям от Евгений Иоффе&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Кеширование]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B4%D0%BB%D1%8F_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_xml-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_XSLT&amp;diff=7893</id>
		<title>Универсальный метод для кэширования xml-данных в XSLT</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B4%D0%BB%D1%8F_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_xml-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_XSLT&amp;diff=7893"/>
		<updated>2014-07-06T09:39:32Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Некоторая информация по кэшированию xml-данных была представлена в данной статье:&lt;br /&gt;
[[Кэширование результата работы метода getCreateForm в XSL-шаблоне]]&lt;br /&gt;
&lt;br /&gt;
Универсальный метод, который необходимо добавить в файл &amp;#039;&amp;#039;&amp;#039;classes/modules/cutom.php&amp;#039;&amp;#039;&amp;#039;, может быть представлен в следующем виде:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function xsltCache($expire = 3600, $stream){&lt;br /&gt;
	$params_temp = array_slice(func_get_args(), 2);&lt;br /&gt;
	$params = array();&lt;br /&gt;
	&lt;br /&gt;
	foreach($params_temp as $param){&lt;br /&gt;
		$params[] = (strpos($param, &amp;#039;/&amp;#039;) !== FALSE) ? &amp;quot;(&amp;quot; . $param . &amp;quot;)&amp;quot; : $param;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$domain = cmsController::getInstance()-&amp;gt;getCurrentDomain()-&amp;gt;getId();&lt;br /&gt;
	$params_str = implode(&amp;#039;/&amp;#039;, $params);&lt;br /&gt;
	$url = $stream . &amp;quot;://&amp;quot; . $params_str;&lt;br /&gt;
	$requestParams = array();&lt;br /&gt;
	$allowedParams = array(&amp;#039;extProps&amp;#039;, &amp;#039;extGroups&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
	foreach($_REQUEST as $param =&amp;gt; $value) {&lt;br /&gt;
		if(!in_array($param, $allowedParams))&lt;br /&gt;
			continue;&lt;br /&gt;
		$requestParams[$param] = $value;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$url .= &amp;#039;/?&amp;#039;. http_build_query($requestParams);&lt;br /&gt;
	$folder = CURRENT_WORKING_DIR . &amp;#039;/sys-temp/udatacache/&amp;#039;;&lt;br /&gt;
	$path = $folder . md5($domain. &amp;#039;_&amp;#039;. $url) . &amp;#039;.xml&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	if(!is_dir($folder)) mkdir($folder, 0777, true);&lt;br /&gt;
	if(is_file($path)) $mtime = filemtime($path);&lt;br /&gt;
	if(!is_file($path) || time() &amp;gt; ($mtime + $expire)) {&lt;br /&gt;
		$data = file_get_contents($url);&lt;br /&gt;
		file_put_contents($path, $data);&lt;br /&gt;
		return array(&amp;#039;plain:result&amp;#039; =&amp;gt; $data);&lt;br /&gt;
	}else{&lt;br /&gt;
		$result = file_get_contents($path);&lt;br /&gt;
		return array(&amp;#039;plain:result&amp;#039; =&amp;gt; $result);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
  &lt;br /&gt;
а сам вызов в XSL-шаблоне будет следующим:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udata://custom/xsltCache/3600/custom/lidersCustom/20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
где 3600 - время кэширования xml-данных в секундах,&lt;br /&gt;
custom - модуль&lt;br /&gt;
lidersCustom - метод&lt;br /&gt;
20 - один из параметров, их может быть больше одного&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Статья доработана по рекомендациям от Евгений Иоффе&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Кеширование]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B4%D0%BB%D1%8F_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_xml-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_XSLT&amp;diff=7892</id>
		<title>Универсальный метод для кэширования xml-данных в XSLT</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B4%D0%BB%D1%8F_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_xml-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_XSLT&amp;diff=7892"/>
		<updated>2014-07-06T09:24:07Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Некоторая информация по кэшированию xml-данных была представлена в данной статье:&lt;br /&gt;
[[Кэширование результата работы метода getCreateForm в XSL-шаблоне]]&lt;br /&gt;
&lt;br /&gt;
Универсальный метод, который необходимо добавить в файл &amp;#039;&amp;#039;&amp;#039;classes/modules/cutom.php&amp;#039;&amp;#039;&amp;#039;, может быть представлен в следующем виде:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function xsltCache($expire = 3600, $stream){&lt;br /&gt;
	$params_temp = array_slice(func_get_args(), 2);&lt;br /&gt;
	$params = array();&lt;br /&gt;
	&lt;br /&gt;
	foreach($params_temp as $param){&lt;br /&gt;
		$params[] = (strpos($param, &amp;#039;/&amp;#039;) !== FALSE) ? &amp;quot;(&amp;quot; . $param . &amp;quot;)&amp;quot; : $param;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$domain = cmsController::getInstance()-&amp;gt;getCurrentDomain()-&amp;gt;getId();&lt;br /&gt;
	$params_str = implode(&amp;#039;/&amp;#039;, $params);&lt;br /&gt;
	$url = $stream . &amp;quot;://&amp;quot; . $params_str;&lt;br /&gt;
	$requestParams = array();&lt;br /&gt;
	$allowedParams = array(&amp;#039;extProps&amp;#039;, &amp;#039;extGroups&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
	foreach($_REQUEST as $param =&amp;gt; $value) {&lt;br /&gt;
		if(!in_array($param, $allowedParams))&lt;br /&gt;
			continue;&lt;br /&gt;
		$requestParams[$param] = $value;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$url .= &amp;#039;/?&amp;#039;. http_build_query($requestParams);&lt;br /&gt;
	$folder = CURRENT_WORKING_DIR . &amp;#039;/sys-temp/udatacache/&amp;#039;;&lt;br /&gt;
	$path = $folder . md5($domain. &amp;#039;_&amp;#039;. $url) . &amp;#039;.xml&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	if(!is_dir($folder)) mkdir($folder, 0777, true);&lt;br /&gt;
	if(is_file($path)) $mtime = filemtime($path);&lt;br /&gt;
	if(!is_file($path) || time() &amp;gt; ($mtime + $expire)) {&lt;br /&gt;
		$data = file_get_contents($url);&lt;br /&gt;
		file_put_contents($path, $data);&lt;br /&gt;
		return array(&amp;#039;plain:result&amp;#039; =&amp;gt; $data);&lt;br /&gt;
	}else{&lt;br /&gt;
		$result = file_get_contents($path);&lt;br /&gt;
		return array(&amp;#039;plain:result&amp;#039; =&amp;gt; $result);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
  &lt;br /&gt;
а сам вызов в XSL-шаблоне будет следующим:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udata://custom/xsltCache/3600/custom/lidersCustom/20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
где 3600 - время кэширования xml-данных в секундах,&lt;br /&gt;
custom - модуль&lt;br /&gt;
lidersCustom - метод&lt;br /&gt;
20 - один из параметров, их может быть больше одного&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Кеширование]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Velross&amp;diff=7824</id>
		<title>Участник:Velross</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Velross&amp;diff=7824"/>
		<updated>2014-05-28T11:24:48Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Май, 2014 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Запрет редактирования заказов определенной группе пользователей]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Апрель, 2014 ==&lt;br /&gt;
&lt;br /&gt;
Проверка и актуализация статей.&lt;br /&gt;
&lt;br /&gt;
== Март, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Добавление новой вкладки в личном кабинете шаблона demodizzy]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Создание взаимосвязанных списков]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Февраль, 2014 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Перевод псевдостатического адреса вместо его транслитирации при помощи API Перевода от Яндекс]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Январь, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Защита от спама с помощью скрытого поля]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Как задать атрибуты header и title для кастомной системной страницы]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование знака рубля]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование в XSLT других пространств имен (namespace)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ноябрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Пример создания нового способа оплаты]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Октябрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Сентябрь, 2013 ==&lt;br /&gt;
нет статей&lt;br /&gt;
== Август, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Уведомление пользователю о новом пароле при его изменении]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод похожих товаров с изображениями (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июль, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Создание собственной вкладки в системном модуле]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод баннеров в зависимости от языковой версии сайта (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июнь, 2013 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод результата работы кастомного макроса для XSLT]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод результата работы кастомного макроса для TPL]]&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;[[Создание кастомного метода для вывода отфильтрованного выпадающего списка (TPL)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[При вызове php файла через консоль возвращается страница с запросом лицензионного ключа]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Май, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Как вывести фильтр по товарам по всему каталогу (TPL)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод последних зарегистрированных пользователей (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Usel выборка в иноязычной версии сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Апрель, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование bb-кодов на форуме]]&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;[[Zoom эффект для изображения]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Март, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Выбор склада при покупке товара]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Импорт опционных свойств из 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ссылка на платежную квитанцию в личном кабинете (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Февраль, 2013==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Добавляем атрибуты title и alt к изображению товара (xslt)]]&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;[[Правильное редактирование файлов CSV в программе Calc]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ноябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Октябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Кастомизация сценария выгрузки заказов для 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Экспорт объектов в формате UMIDump 2.0 средствами API на примере заказов]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Сентябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ошибка при обмене заказами через 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Получение id и названия группы пользователя средствами API]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Август, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вставка flash-аудиоплеера на страницах сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Варианты локальной установки UMI.CMS]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июль, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование виджета ICQ On-Site для живого чата с посетителями сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Яндекс.Поиск для сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июнь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Предупреждение при посещении сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%80%D0%B5%D1%82_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%BE%D0%B2_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9&amp;diff=7823</id>
		<title>Запрет редактирования заказов определенной группе пользователей</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%80%D0%B5%D1%82_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%BE%D0%B2_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9&amp;diff=7823"/>
		<updated>2014-05-28T11:24:09Z</updated>

		<summary type="html">&lt;p&gt;Velross: Новая страница: «Актуально для 2.9.6.  ---- &amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; Требуется определенной группе пользователей дать права т…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для 2.9.6.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; Требуется определенной группе пользователей дать права только на просмотр заказов, но запретить их редактирование или удаление.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039; Так как заказы являются объектами, то с помощью системы прав пользователей запретить их редактирования нельзя, но мы можем написать кастомный макрос, который будет работать на события изменения объектов и проверять группу пользователя. Если пользователь будет в группе с правами только на чтение заказов, то при попытке их редактирования мы будем показывать ошибку.&lt;br /&gt;
  В файле __custom_adm.php пишем:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function editOrderDenied ($event) {&lt;br /&gt;
	$mode = $event-&amp;gt;getMode();&lt;br /&gt;
	if ($mode == &amp;#039;before&amp;#039;){&lt;br /&gt;
		$subject = $event-&amp;gt;getRef(&amp;#039;object&amp;#039;);&lt;br /&gt;
		if( !($subject instanceof umiObject) ) {&lt;br /&gt;
			$subject = $event-&amp;gt;getRef(&amp;#039;entity&amp;#039;);&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		$typesCollection = umiObjectTypesCollection::getInstance();&lt;br /&gt;
		$umiHierarchy = umiHierarchy::getInstance();&lt;br /&gt;
		$subjectTypeId = $subject-&amp;gt;getTypeId();&lt;br /&gt;
		$subjectType = $typesCollection-&amp;gt;getType($subjectTypeId);&lt;br /&gt;
		$subjectModule = $subjectType-&amp;gt;getModule();&lt;br /&gt;
		$subjectMethod = $subjectType-&amp;gt;getMethod();&lt;br /&gt;
		if ($subjectModule == &amp;#039;emarket&amp;#039; &amp;amp;&amp;amp; $subjectMethod == &amp;#039;order&amp;#039;){&lt;br /&gt;
			$user_id = permissionsCollection::getInstance()-&amp;gt;getUserId();&lt;br /&gt;
			$user_object = umiObjectsCollection::getInstance()-&amp;gt;getObject($user_id);&lt;br /&gt;
			$groups = $user_object-&amp;gt;getValue(&amp;quot;groups&amp;quot;);&lt;br /&gt;
			foreach ($groups as $val) {&lt;br /&gt;
			  if ($val == 1) {&lt;br /&gt;
				$this-&amp;gt;errorNewMessage(getLabel(&amp;quot;error-require-edit-permissions&amp;quot;));&lt;br /&gt;
				$this-&amp;gt;errorPanic();&lt;br /&gt;
			  }&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
В фрагменте кода  if ($val == 1) { мы проверяем равенство с ID запрещаемой группой пользователей.&lt;br /&gt;
В файле custom_events.php пропишем события:&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;
	new umiEventListener(&amp;#039;systemModifyObject&amp;#039;, &amp;#039;emarket&amp;#039;, &amp;#039;editOrderDenied&amp;#039;);&lt;br /&gt;
	new umiEventListener(&amp;#039;systemDeleteObject&amp;#039;, &amp;#039;emarket&amp;#039;, &amp;#039;editOrderDenied&amp;#039;);&lt;br /&gt;
	new umiEventListener(&amp;#039;systemModifyPropertyValue&amp;#039;, &amp;#039;emarket&amp;#039;, &amp;#039;editOrderDenied&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Категория:Модуль Пользователи]][[Категория:Написание кастомных макросов]][[Категория:Модуль Интернет магазин]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7817</id>
		<title>Рейтинг пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7817"/>
		<updated>2014-05-24T21:44:04Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; Подсчитывать рейтинг пользователя при голосовании за его материалы и комментарии на сайте другими пользователями.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
1. В типе данных &amp;quot;Пользователь&amp;quot; создадим новое поле &amp;quot;Рейтинг пользователя&amp;quot; с идентификатором rate_user&amp;lt;br/&amp;gt;&lt;br /&gt;
2. Напишем кастомный макрос. Макрос можно написать как в общем кастоме /classes/modules/custom.php, так и в кастоме для модуля голосования.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    //TODO: Write your own macroses here&lt;br /&gt;
    public function userKarma ($pageId, $rate) {&lt;br /&gt;
	//Получим экземпляр страницы через ее id&lt;br /&gt;
	$pageElement = umiHierarchy::getInstance()-&amp;gt;getElement($pageId);&lt;br /&gt;
	//Получим объект оцениваемой страницы&lt;br /&gt;
	$pageObjectId = $pageElement-&amp;gt;objectId;&lt;br /&gt;
	$pageObject = umiObjectsCollection::getInstance()-&amp;gt;getObject($pageObjectId);&lt;br /&gt;
	//Узнаем Id владельца объекта&lt;br /&gt;
	$userId = $pageObject-&amp;gt;getOwnerId();		&lt;br /&gt;
	//Получим объект пользователя&lt;br /&gt;
	$userObject = umiObjectsCollection::getInstance()-&amp;gt;getObject($userId);&lt;br /&gt;
	// Получим текущий рейтинг, увеличим его на переданное значение и сохраним изменения&lt;br /&gt;
	$currentRateUser = $userObject-&amp;gt;getValue(&amp;quot;rate_user&amp;quot;);&lt;br /&gt;
	$sumRateUser = $currentRateUser + (int) $rate;&lt;br /&gt;
	$userObject-&amp;gt;setValue(&amp;quot;rate_user&amp;quot;, $sumRateUser);&lt;br /&gt;
	$userObject-&amp;gt;commit();&lt;br /&gt;
        return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Добавим дополнительный ajax-вызов в функцию jQuery(&amp;#039;.votes div a&amp;#039;).click(function(){} находящуюся в файле /templates/demodizzy/js/__common.js&amp;lt;br/&amp;gt;&lt;br /&gt;
Если вы писали в кастом модуля vote, то вызов будет udata://vote/userKarma/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
jQuery.ajax({&lt;br /&gt;
	url: &amp;quot;/udata://custom/userKarma/&amp;quot; + element_id + &amp;quot;/&amp;quot; + params[0].split(&amp;#039;_&amp;#039;).pop() + &amp;quot;.json&amp;quot;,&lt;br /&gt;
	type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
	dataType : &amp;#039;json&amp;#039;,&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Выведем значение в нужном месте сайта. В личном кабинете, при редактировании профиля данное поле появиться автоматически. Чтобы рейтинг нельзя было отредактировать, добавим в файл шаблона, по которому выводится форма templates/demodizzy/xslt/modules/data/common-edit-form.xsl дополнительное условие:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;field[@name = &amp;#039;rate_user&amp;#039;]&amp;quot; mode=&amp;quot;form&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;&lt;br /&gt;
		&amp;lt;label title=&amp;quot;{@tip}&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;@required&amp;quot; mode=&amp;quot;form&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;span&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:value-of select=&amp;quot;concat(@title, &amp;#039;:&amp;#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/span&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:value-of select=&amp;quot;text()&amp;quot;  /&amp;gt;&lt;br /&gt;
		&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;/div&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;
[[Категория:Модуль Опросы]][[Категория:Написание кастомных макросов]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7816</id>
		<title>Рейтинг пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7816"/>
		<updated>2014-05-24T21:43:06Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; Подсчитывать рейтинг пользователя при голосовании за его материалы и комментарии на сайте другими пользователями.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
1. В типе данных &amp;quot;Пользователь&amp;quot; создадим новое поле &amp;quot;Рейтинг пользователя&amp;quot; с идентификатором rate_user&amp;lt;br/&amp;gt;&lt;br /&gt;
2. Напишем кастомный макрос. Макрос можно написать как в общем кастоме /classes/modules/custom.php, так и в кастоме для модуля голосования.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    //TODO: Write your own macroses here&lt;br /&gt;
    public function userKarma ($pageId, $rate) {&lt;br /&gt;
	//Получим экземпляр страницы через ее id&lt;br /&gt;
	$pageElement = umiHierarchy::getInstance()-&amp;gt;getElement($pageId);&lt;br /&gt;
	//Получим объект оцениваемой страницы&lt;br /&gt;
	$pageObjectId = $pageElement-&amp;gt;objectId;&lt;br /&gt;
	$pageObject = umiObjectsCollection::getInstance()-&amp;gt;getObject($pageObjectId);&lt;br /&gt;
	//Узнаем Id владельца объекта&lt;br /&gt;
	$userId = $pageObject-&amp;gt;getOwnerId();		&lt;br /&gt;
	//Получим объект пользователя&lt;br /&gt;
	$userObject = umiObjectsCollection::getInstance()-&amp;gt;getObject($userId);&lt;br /&gt;
	// Получим текущий рейтинг, увеличим его на переданное значение и сохраним изменения&lt;br /&gt;
	$currentRateUser = $userObject-&amp;gt;getValue(&amp;quot;rate_user&amp;quot;);&lt;br /&gt;
	$sumRateUser = $currentRateUser + (int) $rate;&lt;br /&gt;
	$userObject-&amp;gt;setValue(&amp;quot;rate_user&amp;quot;, $sumRateUser);&lt;br /&gt;
	$userObject-&amp;gt;commit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Добавим дополнительный ajax-вызов в функцию jQuery(&amp;#039;.votes div a&amp;#039;).click(function(){} находящуюся в файле /templates/demodizzy/js/__common.js&amp;lt;br/&amp;gt;&lt;br /&gt;
Если вы писали в кастом модуля vote, то вызов будет udata://vote/userKarma/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
jQuery.ajax({&lt;br /&gt;
	url: &amp;quot;/udata://custom/userKarma/&amp;quot; + element_id + &amp;quot;/&amp;quot; + params[0].split(&amp;#039;_&amp;#039;).pop() + &amp;quot;.json&amp;quot;,&lt;br /&gt;
	type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
	dataType : &amp;#039;json&amp;#039;,&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Выведем значение в нужном месте сайта. В личном кабинете, при редактировании профиля данное поле появиться автоматически. Чтобы рейтинг нельзя было отредактировать, добавим в файл шаблона, по которому выводится форма templates/demodizzy/xslt/modules/data/common-edit-form.xsl дополнительное условие:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;field[@name = &amp;#039;rate_user&amp;#039;]&amp;quot; mode=&amp;quot;form&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;&lt;br /&gt;
		&amp;lt;label title=&amp;quot;{@tip}&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;@required&amp;quot; mode=&amp;quot;form&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;span&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:value-of select=&amp;quot;concat(@title, &amp;#039;:&amp;#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/span&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:value-of select=&amp;quot;text()&amp;quot;  /&amp;gt;&lt;br /&gt;
		&amp;lt;/label&amp;gt;&lt;br /&gt;
	&amp;lt;/div&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;
[[Категория:Модуль Опросы]][[Категория:Написание кастомных макросов]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7815</id>
		<title>Рейтинг пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7815"/>
		<updated>2014-05-24T21:36:24Z</updated>

		<summary type="html">&lt;p&gt;Velross: Новая страница: «Актуально для версии 2.9.6  ---- &amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; Подсчитывать рейтинг пользователя при голосовании…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; Подсчитывать рейтинг пользователя при голосовании за его материалы и комментарии на сайте другими пользователями.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
1. В типе данных &amp;quot;Пользователь&amp;quot; создадим новое поле &amp;quot;Рейтинг пользователя&amp;quot; с идентификатором rate_user&lt;br /&gt;
2. Напишем кастомный макрос. Макрос можно написать как в общем кастоме /classes/modules/custom.php, так и в кастоме для модуля голосования.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    //TODO: Write your own macroses here&lt;br /&gt;
    public function userKarma ($pageId, $rate) {&lt;br /&gt;
	//Получим экземпляр страницы через ее id&lt;br /&gt;
	$pageElement = umiHierarchy::getInstance()-&amp;gt;getElement($pageId);&lt;br /&gt;
	//Получим объект оцениваемой страницы&lt;br /&gt;
	$pageObjectId = $pageElement-&amp;gt;objectId;&lt;br /&gt;
	$pageObject = umiObjectsCollection::getInstance()-&amp;gt;getObject($pageObjectId);&lt;br /&gt;
	//Узнаем Id владельца объекта&lt;br /&gt;
	$userId = $pageObject-&amp;gt;getOwnerId();		&lt;br /&gt;
	//Получим объект пользователя&lt;br /&gt;
	$userObject = umiObjectsCollection::getInstance()-&amp;gt;getObject($userId);&lt;br /&gt;
	// Получим текущий рейтинг, увеличим его на переданное значение и сохраним изменения&lt;br /&gt;
	$currentRateUser = $userObject-&amp;gt;getValue(&amp;quot;rate_user&amp;quot;);&lt;br /&gt;
	$sumRateUser = $currentRateUser + (int) $rate;&lt;br /&gt;
	$userObject-&amp;gt;setValue(&amp;quot;rate_user&amp;quot;, $sumRateUser);&lt;br /&gt;
	$userObject-&amp;gt;commit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Добавим дополнительный ajax-вызов в функцию jQuery(&amp;#039;.votes div a&amp;#039;).click(function(){} находящуюся в файле /templates/demodizzy/js/__common.js&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
jQuery.ajax({&lt;br /&gt;
	url: &amp;quot;/udata://custom/userKarma/&amp;quot; + element_id + &amp;quot;/&amp;quot; + params[0].split(&amp;#039;_&amp;#039;).pop() + &amp;quot;.json&amp;quot;,&lt;br /&gt;
	type: &amp;quot;GET&amp;quot;,&lt;br /&gt;
	dataType : &amp;#039;json&amp;#039;,&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Velross&amp;diff=7814</id>
		<title>Участник:Velross</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Velross&amp;diff=7814"/>
		<updated>2014-05-24T21:25:32Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Май, 2014 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Апрель, 2014 ==&lt;br /&gt;
&lt;br /&gt;
Проверка и актуализация статей.&lt;br /&gt;
&lt;br /&gt;
== Март, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Добавление новой вкладки в личном кабинете шаблона demodizzy]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Создание взаимосвязанных списков]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Февраль, 2014 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Перевод псевдостатического адреса вместо его транслитирации при помощи API Перевода от Яндекс]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Январь, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Защита от спама с помощью скрытого поля]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Как задать атрибуты header и title для кастомной системной страницы]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование знака рубля]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование в XSLT других пространств имен (namespace)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ноябрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Пример создания нового способа оплаты]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Октябрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Сентябрь, 2013 ==&lt;br /&gt;
нет статей&lt;br /&gt;
== Август, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Уведомление пользователю о новом пароле при его изменении]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод похожих товаров с изображениями (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июль, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Создание собственной вкладки в системном модуле]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод баннеров в зависимости от языковой версии сайта (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июнь, 2013 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод результата работы кастомного макроса для XSLT]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод результата работы кастомного макроса для TPL]]&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;[[Создание кастомного метода для вывода отфильтрованного выпадающего списка (TPL)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[При вызове php файла через консоль возвращается страница с запросом лицензионного ключа]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Май, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Как вывести фильтр по товарам по всему каталогу (TPL)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод последних зарегистрированных пользователей (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Usel выборка в иноязычной версии сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Апрель, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование bb-кодов на форуме]]&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;[[Zoom эффект для изображения]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Март, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Выбор склада при покупке товара]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Импорт опционных свойств из 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ссылка на платежную квитанцию в личном кабинете (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Февраль, 2013==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Добавляем атрибуты title и alt к изображению товара (xslt)]]&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;[[Правильное редактирование файлов CSV в программе Calc]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ноябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Октябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Кастомизация сценария выгрузки заказов для 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Экспорт объектов в формате UMIDump 2.0 средствами API на примере заказов]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Сентябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ошибка при обмене заказами через 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Получение id и названия группы пользователя средствами API]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Август, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вставка flash-аудиоплеера на страницах сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Варианты локальной установки UMI.CMS]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июль, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование виджета ICQ On-Site для живого чата с посетителями сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Яндекс.Поиск для сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июнь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Предупреждение при посещении сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%80%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7813</id>
		<title>Вывод рейтингованных страниц пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%80%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=7813"/>
		<updated>2014-05-24T19:18:54Z</updated>

		<summary type="html">&lt;p&gt;Velross: Новая страница: «Актуально для 2.9.6  ---- &amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; вывести страницы за которые голосовал пользователь.  &amp;#039;&amp;#039;&amp;#039;Реш…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; вывести страницы за которые голосовал пользователь.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение: на примере xslt шаблона - demidizzy&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В шаблоне данных пользователя имеется скрытое поле с типом &amp;quot;ссылка на дерево&amp;quot;, в котором сохраняются страницы за которые голосовал пользователь. К сожалению, но вывести мы сможем только сами страницы, так как информация о том когда пользователь голосовал, какую оценку выставил не сохраняется. Для вывода списка страниц за которые голосовал пользователь достаточно описать следующий шаблон в файле /templates/demodizzy/xslt/modules/users/registration.xsl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- User rated pages --&amp;gt;	&lt;br /&gt;
&amp;lt;xsl:template name=&amp;quot;rated_pages&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;con_tab_rated_pages&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;ol style=&amp;quot;padding: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;uobject://&amp;#039;,$user-id,&amp;#039;.rated_pages&amp;#039;))//value/page&amp;quot; mode=&amp;quot;rated_pages&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/ol&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;page&amp;quot; mode=&amp;quot;rated_pages&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;li style=&amp;quot;padding-bottom: 3px;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;a href=&amp;quot;{@link}&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;name&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;
	&amp;lt;/li&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;
В нужном месте, описанный шаблон необходимо будет вызвать:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:call-template name=&amp;quot;rated_pages&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат:&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:24-05-2014 23-16-14.png]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Модуль Опросы]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:24-05-2014_23-16-14.png&amp;diff=7812</id>
		<title>Файл:24-05-2014 23-16-14.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:24-05-2014_23-16-14.png&amp;diff=7812"/>
		<updated>2014-05-24T19:17:13Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Velross&amp;diff=7811</id>
		<title>Участник:Velross</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Velross&amp;diff=7811"/>
		<updated>2014-05-24T19:06:40Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Май, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод рейтингованных страниц пользователя]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Апрель, 2014 ==&lt;br /&gt;
&lt;br /&gt;
Проверка и актуализация статей.&lt;br /&gt;
&lt;br /&gt;
== Март, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Добавление новой вкладки в личном кабинете шаблона demodizzy]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Создание взаимосвязанных списков]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Февраль, 2014 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Перевод псевдостатического адреса вместо его транслитирации при помощи API Перевода от Яндекс]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Январь, 2014 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Защита от спама с помощью скрытого поля]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Как задать атрибуты header и title для кастомной системной страницы]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование знака рубля]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование в XSLT других пространств имен (namespace)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ноябрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Пример создания нового способа оплаты]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Октябрь, 2013 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Сентябрь, 2013 ==&lt;br /&gt;
нет статей&lt;br /&gt;
== Август, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Уведомление пользователю о новом пароле при его изменении]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод похожих товаров с изображениями (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июль, 2013 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Создание собственной вкладки в системном модуле]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод баннеров в зависимости от языковой версии сайта (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июнь, 2013 ==&lt;br /&gt;
&amp;lt;ol&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод результата работы кастомного макроса для XSLT]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод результата работы кастомного макроса для TPL]]&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;[[Создание кастомного метода для вывода отфильтрованного выпадающего списка (TPL)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[При вызове php файла через консоль возвращается страница с запросом лицензионного ключа]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Май, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Как вывести фильтр по товарам по всему каталогу (TPL)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вывод последних зарегистрированных пользователей (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Usel выборка в иноязычной версии сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Апрель, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование bb-кодов на форуме]]&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;[[Zoom эффект для изображения]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Март, 2013 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Выбор склада при покупке товара]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Импорт опционных свойств из 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ссылка на платежную квитанцию в личном кабинете (XSLT)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Февраль, 2013==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Добавляем атрибуты title и alt к изображению товара (xslt)]]&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;[[Правильное редактирование файлов CSV в программе Calc]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ноябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&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;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Октябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Кастомизация сценария выгрузки заказов для 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Экспорт объектов в формате UMIDump 2.0 средствами API на примере заказов]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Сентябрь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ошибка при обмене заказами через 1С]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Получение id и названия группы пользователя средствами API]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Август, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Вставка flash-аудиоплеера на страницах сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Варианты локальной установки UMI.CMS]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июль, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Использование виджета ICQ On-Site для живого чата с посетителями сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Яндекс.Поиск для сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Июнь, 2012 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Предупреждение при посещении сайта]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7742</id>
		<title>Уведомление модератора о новом сообщении на форуме</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7742"/>
		<updated>2014-04-30T14:07:33Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; уведомлять модератора о новом сообщении в форуме.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В настройках модуля Форум существует настройка, позволяющая запретить публикацию сообщений модерации модератором. Однако, в стандартном функционале системы не предусмотрена возможность автоматического уведомления модератора о новом сообщении.&lt;br /&gt;
&lt;br /&gt;
Для реализации данной задачи потребуется написать несложный кастомный макрос.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файл &amp;#039;&amp;#039;&amp;#039;~classes/modules/forum/__custom.php&amp;#039;&amp;#039;&amp;#039; необходимо добавить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function onAddCommentForum(iUmiEventPoint $oEventPoint) {&lt;br /&gt;
&lt;br /&gt;
	// берем необходимые параметры&lt;br /&gt;
	$iCommentId = $oEventPoint-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  	$recipient = regedit::getInstance()-&amp;gt;getVal(&amp;#039;//settings/admin_email&amp;#039;);&lt;br /&gt;
	$subject = &amp;#039;Добавлено новое сообщение в форум&amp;#039;;&lt;br /&gt;
	$from = &amp;#039;UMI.CMS&amp;#039;;&lt;br /&gt;
	$from_mail  = &amp;quot;no_replay@example.com&amp;quot;;&lt;br /&gt;
	//Формируем сообщение&lt;br /&gt;
	$content = &amp;quot;&lt;br /&gt;
	&amp;lt;html&amp;gt;&lt;br /&gt;
		&amp;lt;body&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt; В форуме появилось новое сообщение. &amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt; &amp;lt;b&amp;gt;Для редактирования сообщения, перейдите по ссылке:&amp;lt;/b&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                http://ВАШ_ДОМЕН.ru/admin/forum/edit/$iCommentId&lt;br /&gt;
			&amp;lt;/div&amp;gt;&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;
	&amp;quot;;&lt;br /&gt;
	//Формируем письмо                        &lt;br /&gt;
	$mail = new umiMail();&lt;br /&gt;
	$mail-&amp;gt;addRecipient($recipient);&lt;br /&gt;
	$mail-&amp;gt;setFrom($from_mail,$from);&lt;br /&gt;
	$mail-&amp;gt;setSubject($subject);&lt;br /&gt;
	$mail-&amp;gt;setContent($content);&lt;br /&gt;
	$mail-&amp;gt;commit();&lt;br /&gt;
	$mail-&amp;gt;send();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
А также в файл &amp;#039;&amp;#039;&amp;#039;~classes\modules\forum\custom_events.php&amp;#039;&amp;#039;&amp;#039; добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$oAddCommentListener = new umiEventListener(&amp;quot;forum_message_post_do&amp;quot;, &amp;quot;forum&amp;quot;, &amp;quot;onAddCommentForum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Категория:Модуль Форум]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7741</id>
		<title>Системные страницы</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7741"/>
		<updated>2014-04-30T13:35:37Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Кроме обычных страниц контента, в системе UMI.CMS присутствуют системные страницы. Работа с ними чуть отличается от работы с обычными.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Есть ряд тонкостей, которые необходимо понимать:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039; в tpl-шаблонезаторе, для системных страниц используется шаблон-дизайна, установленный по умолчанию. Причём в этом шаблоне &amp;lt;b&amp;gt;обязательно&amp;lt;/b&amp;gt; должен присутствовать макрос %content% &amp;lt;br/&amp;gt;&lt;br /&gt;
Подробнее, о том, как определяется содержимое и его оформление можно прочитать в разделе [http://dev.docs.umi-cms.ru/shablony_i_makrosy/tpl-shablonizator_umi_cms/obwie_svedeniya/#print «Вывод страницы в браузер»] главы, посвященной TPL-шаблонизатору.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039; в xslt-шаблонезаторе системные страницы сами по себе не возвращают данные о текущем состоянии системы. Для этого необходимо вызвать дополнительный обработчик, для полученого в &amp;lt;result ...&amp;gt;&amp;lt;/result&amp;gt; метода и модуля. &amp;lt;br/&amp;gt;&lt;br /&gt;
К примеру:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;result xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; module=&amp;quot;emarket&amp;quot; method=&amp;quot;cart&amp;quot; domain=&amp;quot;equites7987.demo.umi-cms.ru&amp;quot; lang=&amp;quot;ru&amp;quot; header=&amp;quot;Корзина товаров&amp;quot; title=&amp;quot;UMI.CMS - Корзина товаров&amp;quot; request-uri=&amp;quot;/emarket/cart/.xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
&amp;lt;keywords&amp;gt;&lt;br /&gt;
umi CMS демо DEMO сайт система управление&lt;br /&gt;
&amp;lt;/keywords&amp;gt;&lt;br /&gt;
&amp;lt;description/&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;user id=&amp;quot;2373&amp;quot; type=&amp;quot;guest&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;!-- This page generated in 0.10675 secs --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь нет данных о положенных в корзину товаров. Для того что бы получить данные о произведённом заказе необходимо использовать дополнительный вызов &amp;lt;i&amp;gt;udata://emarket/cart&amp;lt;/i&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;result[@method = &amp;#039;cart&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;//steps&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://emarket/cart&amp;#039;)/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3.&amp;#039;&amp;#039;&amp;#039; вот пример некоторых системных страниц: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../search/search_do/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/compare/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../users/settings/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/cart/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../users/registrate/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7740</id>
		<title>Системные страницы</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7740"/>
		<updated>2014-04-30T13:32:54Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Кроме обычных страниц контента, в системе UMI.CMS присутствуют системные страницы. Работа с ними чуть отличается от работы с обычными.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Есть ряд тонкостей, которые необходимо понимать:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039; в tpl-шаблонезаторе, для системных страниц используется шаблон-дизайна, установленный по умолчанию. Причём в этом шаблоне &amp;lt;b&amp;gt;обязательно&amp;lt;/b&amp;gt; должен присутствовать макрос %content% &amp;lt;br/&amp;gt;&lt;br /&gt;
Подробнее, о том, как определяется содержимое и его оформление можно прочитать в разделе [http://dev.docs.umi-cms.ru/shablony_i_makrosy/tpl-shablonizator_umi_cms/obwie_svedeniya/#print «Вывод страницы в браузер»] главы, посвященной TPL-шаблонизатору.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039; в xslt-шаблонезаторе системные страницы сами по себе не возвращают данные о текущем состоянии системы. Для этого необходимо вызвать дополнительный обработчик, для полученого в &amp;lt;result ...&amp;gt;&amp;lt;/result&amp;gt; метода и модуля. &amp;lt;br/&amp;gt;&lt;br /&gt;
К примеру:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;result xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; module=&amp;quot;emarket&amp;quot; method=&amp;quot;cart&amp;quot; domain=&amp;quot;equites7987.demo.umi-cms.ru&amp;quot; lang=&amp;quot;ru&amp;quot; header=&amp;quot;Корзина товаров&amp;quot; title=&amp;quot;UMI.CMS - Корзина товаров&amp;quot; request-uri=&amp;quot;/emarket/cart/.xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
&amp;lt;keywords&amp;gt;&lt;br /&gt;
umi CMS демо DEMO сайт система управление&lt;br /&gt;
&amp;lt;/keywords&amp;gt;&lt;br /&gt;
&amp;lt;description/&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;user id=&amp;quot;2373&amp;quot; type=&amp;quot;guest&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;!-- This page generated in 0.10675 secs --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь нет данных о положенных в корзину товаров. Для того что бы получить данные о произведённом заказе необходимо использовать дополнительный вызов &amp;lt;i&amp;gt;udata://emarket/cart&amp;lt;/i&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;result[@method = &amp;#039;cart&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;//steps&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://emarket/cart&amp;#039;)/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4.&amp;#039;&amp;#039;&amp;#039; вот пример некоторых системных страниц: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../search/search_do/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/compare/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../users/settings/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/cart/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7739</id>
		<title>Системные страницы</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7739"/>
		<updated>2014-04-30T13:32:39Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Кроме обычных страниц контента, в системе UMI.CMS присутствуют системные страницы. Работа с ними чуть отличается от работы с обычными.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Есть ряд тонкостей, которые необходимо понимать:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039; в tpl-шаблонезаторе, для системных страниц используется шаблон-дизайна, установленный по умолчанию. Причём в этом шаблоне &amp;lt;b&amp;gt;обязательно&amp;lt;/b&amp;gt; должен присутствовать макрос %content% &amp;lt;br/&amp;gt;&lt;br /&gt;
Подробнее, о том, как определяется содержимое и его оформление можно прочитать в разделе [[http://dev.docs.umi-cms.ru/shablony_i_makrosy/tpl-shablonizator_umi_cms/obwie_svedeniya/#print «Вывод страницы в браузер»]] главы, посвященной TPL-шаблонизатору.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039; в xslt-шаблонезаторе системные страницы сами по себе не возвращают данные о текущем состоянии системы. Для этого необходимо вызвать дополнительный обработчик, для полученого в &amp;lt;result ...&amp;gt;&amp;lt;/result&amp;gt; метода и модуля. &amp;lt;br/&amp;gt;&lt;br /&gt;
К примеру:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;result xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; module=&amp;quot;emarket&amp;quot; method=&amp;quot;cart&amp;quot; domain=&amp;quot;equites7987.demo.umi-cms.ru&amp;quot; lang=&amp;quot;ru&amp;quot; header=&amp;quot;Корзина товаров&amp;quot; title=&amp;quot;UMI.CMS - Корзина товаров&amp;quot; request-uri=&amp;quot;/emarket/cart/.xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
&amp;lt;keywords&amp;gt;&lt;br /&gt;
umi CMS демо DEMO сайт система управление&lt;br /&gt;
&amp;lt;/keywords&amp;gt;&lt;br /&gt;
&amp;lt;description/&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;user id=&amp;quot;2373&amp;quot; type=&amp;quot;guest&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;!-- This page generated in 0.10675 secs --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь нет данных о положенных в корзину товаров. Для того что бы получить данные о произведённом заказе необходимо использовать дополнительный вызов &amp;lt;i&amp;gt;udata://emarket/cart&amp;lt;/i&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;result[@method = &amp;#039;cart&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;//steps&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://emarket/cart&amp;#039;)/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4.&amp;#039;&amp;#039;&amp;#039; вот пример некоторых системных страниц: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../search/search_do/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/compare/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../users/settings/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/cart/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7738</id>
		<title>Системные страницы</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7738"/>
		<updated>2014-04-30T13:11:18Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Кроме обычных страниц контента, в системе UMI.CMS присутствуют системные страницы. Работа с ними чуть отличается от работы с обычными.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Есть ряд тонкостей, которые необходимо понимать:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039; в tpl-шаблонезаторе, для системных страниц используется шаблон-дизайна, установленный по умолчанию. Причём в этом шаблоне &amp;lt;b&amp;gt;обязательно&amp;lt;/b&amp;gt; должен присутствовать макрос %content% &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039; в xslt-шаблонезаторе системные страницы сами по себе не возвращают данные о текущем состоянии системы. Для этого необходимо вызвать дополнительный обработчик, для полученого в &amp;lt;result ...&amp;gt;&amp;lt;/result&amp;gt; метода и модуля. &amp;lt;br/&amp;gt;&lt;br /&gt;
К примеру:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;result xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; module=&amp;quot;emarket&amp;quot; method=&amp;quot;cart&amp;quot; domain=&amp;quot;equites7987.demo.umi-cms.ru&amp;quot; lang=&amp;quot;ru&amp;quot; header=&amp;quot;Корзина товаров&amp;quot; title=&amp;quot;UMI.CMS - Корзина товаров&amp;quot; request-uri=&amp;quot;/emarket/cart/.xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
&amp;lt;keywords&amp;gt;&lt;br /&gt;
umi CMS демо DEMO сайт система управление&lt;br /&gt;
&amp;lt;/keywords&amp;gt;&lt;br /&gt;
&amp;lt;description/&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;user id=&amp;quot;2373&amp;quot; type=&amp;quot;guest&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;!-- This page generated in 0.10675 secs --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь нет данных о положенных в корзину товаров. Для того что бы получить данные о произведённом заказе необходимо использовать дополнительный вызов &amp;lt;i&amp;gt;udata://emarket/cart&amp;lt;/i&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;result[@method = &amp;#039;cart&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;//steps&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://emarket/cart&amp;#039;)/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4.&amp;#039;&amp;#039;&amp;#039; вот пример некоторых системных страниц: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../search/search_do/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/compare/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../users/settings/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/cart/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7737</id>
		<title>Системные страницы</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;diff=7737"/>
		<updated>2014-04-30T13:07:12Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Кроме обычных страниц контента, в системе UMI.CMS присутствуют системные страницы. Работа с ними чуть отличается от работы с обычными.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Есть ряд тонкостей, которые необходимо понимать:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039; в tpl-шаблонезаторе, для системных страниц используется шаблон-дизайна, установленный по умолчанию. Причём в этом шаблоне &amp;lt;b&amp;gt;обязательно&amp;lt;/b&amp;gt; должен присутствовать макрос %content% &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039; в xslt-шаблонезаторе системные страницы сами по себе не возвращают данные о текущем состоянии системы. Для этого необходимо вызвать дополнительный обработчик, для полученого в &amp;lt;result ...&amp;gt;&amp;lt;/result&amp;gt; метода и модуля. &amp;lt;br/&amp;gt;&lt;br /&gt;
К примеру:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;result xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot; module=&amp;quot;emarket&amp;quot; method=&amp;quot;cart&amp;quot; domain=&amp;quot;equites7987.demo.umi-cms.ru&amp;quot; lang=&amp;quot;ru&amp;quot; header=&amp;quot;Корзина товаров&amp;quot; title=&amp;quot;UMI.CMS - Корзина товаров&amp;quot; request-uri=&amp;quot;/emarket/cart/.xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
&amp;lt;keywords&amp;gt;&lt;br /&gt;
umi CMS демо DEMO сайт система управление&lt;br /&gt;
&amp;lt;/keywords&amp;gt;&lt;br /&gt;
&amp;lt;description/&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;user id=&amp;quot;2373&amp;quot; type=&amp;quot;guest&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;!-- This page generated in 0.10675 secs --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь нет данных о положенных в корзину товаров. Для того что бы получить данные о произведённом заказе необходимо использовать дополнительный вызов &amp;lt;i&amp;gt;udata://emarket/cart&amp;lt;/i&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4.&amp;#039;&amp;#039;&amp;#039; вот пример некоторых системных страниц: &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../search/search_do/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/compare/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../users/settings/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;../emarket/cart/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7736</id>
		<title>Уведомление модератора о новом сообщении на форуме</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7736"/>
		<updated>2014-04-30T13:03:11Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; уведомлять модератора о новом сообщении в форуме.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В настройках модуля Форум существует настройка, позволяющая запретить публикацию сообщений модерации модератором. Однако, в стандартном функционале системы не предусмотрена возможность автоматического уведомления модератора о новом сообщении.&lt;br /&gt;
&lt;br /&gt;
Для реализации данной задачи потребуется написать несложный кастомный макрос.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файл &amp;#039;&amp;#039;&amp;#039;~classes/modules/forum/__custom.php&amp;#039;&amp;#039;&amp;#039; необходимо добавить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function onAddCommentForum(iUmiEventPoint $oEventPoint) {&lt;br /&gt;
&lt;br /&gt;
	// берем необходимые параметры&lt;br /&gt;
	$iCommentId = $oEventPoint-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  	$recipient = regedit::getInstance()-&amp;gt;getVal(&amp;#039;//settings/admin_email&amp;#039;);&lt;br /&gt;
	$subject = &amp;#039;Добавлено новое сообщение в форум&amp;#039;;&lt;br /&gt;
	$from = &amp;#039;UMI.CMS&amp;#039;;&lt;br /&gt;
	$from_mail  = &amp;quot;no_replay@example.com&amp;quot;;&lt;br /&gt;
	//Формируем сообщение&lt;br /&gt;
	$content = &amp;quot;&lt;br /&gt;
	&amp;lt;html&amp;gt;&lt;br /&gt;
		&amp;lt;body&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt; В форуме появилось новое сообщение. &amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt; &amp;lt;b&amp;gt;Для редактирования сообщения, перейдите по ссылке:&amp;lt;/b&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                http://ВАШ_ДОМЕН.ru/admin/forum/edit/$iCommentId&lt;br /&gt;
			&amp;lt;/div&amp;gt;&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;
	&amp;quot;;&lt;br /&gt;
	//Формируем письмо                        &lt;br /&gt;
	$mail = new umiMail();&lt;br /&gt;
	$mail-&amp;gt;addRecipient($email);&lt;br /&gt;
	$mail-&amp;gt;setFrom($from_mail,$from);&lt;br /&gt;
	$mail-&amp;gt;setSubject($subject);&lt;br /&gt;
	$mail-&amp;gt;setContent($content);&lt;br /&gt;
	$mail-&amp;gt;commit();&lt;br /&gt;
	$mail-&amp;gt;send();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
А также в файл &amp;#039;&amp;#039;&amp;#039;~classes\modules\forum\custom_events.php&amp;#039;&amp;#039;&amp;#039; добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$oAddCommentListener = new umiEventListener(&amp;quot;forum_message_post_do&amp;quot;, &amp;quot;forum&amp;quot;, &amp;quot;onAddCommentForum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Категория:Модуль Форум]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7735</id>
		<title>Уведомление модератора о новом сообщении на форуме</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7735"/>
		<updated>2014-04-30T13:02:22Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; уведомлять модератора о новом сообщении в форуме.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
В настройках модуля Форум существует настройка, позволяющая запретить публикацию сообщений модерации модератором. Однако, в стандартном функционале системы не предусмотрена возможность автоматического уведомления модератора о новом сообщении.&lt;br /&gt;
&lt;br /&gt;
Для реализации данной задачи потребуется написать несложный кастомный макрос.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файл &amp;#039;&amp;#039;&amp;#039;~classes/modules/forum/__custom.php&amp;#039;&amp;#039;&amp;#039; необходимо добавить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function onAddCommentForum(iUmiEventPoint $oEventPoint) {&lt;br /&gt;
&lt;br /&gt;
	// берем необходимые параметры&lt;br /&gt;
	$iCommentId = $oEventPoint-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  	$recipient = regedit::getInstance()-&amp;gt;getVal(&amp;#039;//settings/admin_email&amp;#039;);&lt;br /&gt;
	$subject = &amp;#039;Добавлено новое сообщение в форум&amp;#039;;&lt;br /&gt;
	$from = &amp;#039;UMI.CMS&amp;#039;;&lt;br /&gt;
	$from_mail  = &amp;quot;no_replay@example.com&amp;quot;;&lt;br /&gt;
	//Формируем сообщение&lt;br /&gt;
	$content = &amp;quot;&lt;br /&gt;
	&amp;lt;html&amp;gt;&lt;br /&gt;
		&amp;lt;body&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt; В форуме появилось новое сообщение. &amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt; &amp;lt;b&amp;gt;Для редактирования сообщения, перейдите по ссылке:&amp;lt;/b&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                http://ВАШ_ДОМЕН.ru/admin/forum/edit/$iCommentId&amp;quot;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&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;
	&amp;quot;;&lt;br /&gt;
	//Формируем письмо                        &lt;br /&gt;
	$mail = new umiMail();&lt;br /&gt;
	$mail-&amp;gt;addRecipient($email);&lt;br /&gt;
	$mail-&amp;gt;setFrom($from_mail,$from);&lt;br /&gt;
	$mail-&amp;gt;setSubject($subject);&lt;br /&gt;
	$mail-&amp;gt;setContent($content);&lt;br /&gt;
	$mail-&amp;gt;commit();&lt;br /&gt;
	$mail-&amp;gt;send();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
А также в файл &amp;#039;&amp;#039;&amp;#039;~classes\modules\forum\custom_events.php&amp;#039;&amp;#039;&amp;#039; добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$oAddCommentListener = new umiEventListener(&amp;quot;forum_message_post_do&amp;quot;, &amp;quot;forum&amp;quot;, &amp;quot;onAddCommentForum&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Категория:Модуль Форум]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B9&amp;diff=7734</id>
		<title>Скачка файла с задержкой для гостей</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B9&amp;diff=7734"/>
		<updated>2014-04-30T09:59:18Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; показать ссылку для скачивания незарегистрированному пользователю с определенной задержкой.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Данное решение применимо для шаблонизатора TPL.&lt;br /&gt;
Задержку отображения ссылки для скачивания мы можем организовать при помощи JS.&lt;br /&gt;
В папке &amp;quot;\tpls\filemanager\&amp;quot; нужно внести изменения в шаблон default.tpl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$FORMS[&amp;#039;shared_file&amp;#039;] = &amp;lt;&amp;lt;&amp;lt;END&lt;br /&gt;
	Имя файла: %file_name% &amp;lt;br /&amp;gt; &lt;br /&gt;
        Размер файла: %file_size% Kb&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
        %current_user_id% &lt;br /&gt;
	&amp;lt;div id=&amp;#039;download_guest&amp;#039;&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
	&amp;lt;script languge=&amp;quot;text/javascript&amp;quot;&amp;gt; &lt;br /&gt;
		var i=%current_user_id%; &lt;br /&gt;
		function timerDownload() { &lt;br /&gt;
			document.getElementById(&amp;#039;download_guest&amp;#039;).innerHTML+=&amp;#039;Ваша ссылка на скачивание &amp;lt;a href=&amp;quot;%download_link%&amp;quot;&amp;gt;по этой ссылке&amp;lt;/a&amp;gt;&amp;#039;; &lt;br /&gt;
		} &lt;br /&gt;
		if (i==337) { &lt;br /&gt;
			document.getElementById(&amp;#039;download_guest&amp;#039;).innerHTML=&amp;#039;Скачивание начнётся через 60 секунд. Чтобы не ждать - зарегистрируйтесь&amp;#039;; &lt;br /&gt;
			window.setTimeout(&amp;#039;timerDownload()&amp;#039;, 60000); &lt;br /&gt;
		} else { &lt;br /&gt;
			document.getElementById(&amp;#039;download_guest&amp;#039;).innerHTML=&amp;#039;Если закачивание файла не начнется через 10 сек, кликните &amp;lt;a href=&amp;quot;%download_link%&amp;quot;&amp;gt;по этой ссылке&amp;lt;/a&amp;gt;&amp;#039; &lt;br /&gt;
		} &lt;br /&gt;
	&amp;lt;/script&amp;gt; &lt;br /&gt;
END;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;PS: Запись &amp;#039;&amp;#039;if (i==337)&amp;#039;&amp;#039; указывает на ID пользователя &amp;quot;Гость&amp;quot; и у вас может отличаться.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Написание кастомных макросов]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B9&amp;diff=7732</id>
		<title>Скачка файла с задержкой для гостей</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B9&amp;diff=7732"/>
		<updated>2014-04-30T09:58:36Z</updated>

		<summary type="html">&lt;p&gt;Velross: переименовал «Скачка файла с задержкой для гостей (TPL)» в «Скачка файла с задержкой для гостей»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; показать ссылку для скачивания незарегистрированному пользователю с определенной задержкой.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Задержку отображения ссылки для скачивания мы можем организовать при помощи JS.&lt;br /&gt;
В папке &amp;quot;\tpls\filemanager\&amp;quot; нужно внести изменения в шаблон default.tpl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$FORMS[&amp;#039;shared_file&amp;#039;] = &amp;lt;&amp;lt;&amp;lt;END&lt;br /&gt;
	Имя файла: %file_name% &amp;lt;br /&amp;gt; &lt;br /&gt;
        Размер файла: %file_size% Kb&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
        %current_user_id% &lt;br /&gt;
	&amp;lt;div id=&amp;#039;download_guest&amp;#039;&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
	&amp;lt;script languge=&amp;quot;text/javascript&amp;quot;&amp;gt; &lt;br /&gt;
		var i=%current_user_id%; &lt;br /&gt;
		function timerDownload() { &lt;br /&gt;
			document.getElementById(&amp;#039;download_guest&amp;#039;).innerHTML+=&amp;#039;Ваша ссылка на скачивание &amp;lt;a href=&amp;quot;%download_link%&amp;quot;&amp;gt;по этой ссылке&amp;lt;/a&amp;gt;&amp;#039;; &lt;br /&gt;
		} &lt;br /&gt;
		if (i==337) { &lt;br /&gt;
			document.getElementById(&amp;#039;download_guest&amp;#039;).innerHTML=&amp;#039;Скачивание начнётся через 60 секунд. Чтобы не ждать - зарегистрируйтесь&amp;#039;; &lt;br /&gt;
			window.setTimeout(&amp;#039;timerDownload()&amp;#039;, 60000); &lt;br /&gt;
		} else { &lt;br /&gt;
			document.getElementById(&amp;#039;download_guest&amp;#039;).innerHTML=&amp;#039;Если закачивание файла не начнется через 10 сек, кликните &amp;lt;a href=&amp;quot;%download_link%&amp;quot;&amp;gt;по этой ссылке&amp;lt;/a&amp;gt;&amp;#039; &lt;br /&gt;
		} &lt;br /&gt;
	&amp;lt;/script&amp;gt; &lt;br /&gt;
END;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;PS: Запись &amp;#039;&amp;#039;if (i==337)&amp;#039;&amp;#039; указывает на ID пользователя &amp;quot;Гость&amp;quot; и у вас может отличаться.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Написание кастомных макросов]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B9_(TPL)&amp;diff=7733</id>
		<title>Скачка файла с задержкой для гостей (TPL)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0_%D1%81_%D0%B7%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%BE%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B9_(TPL)&amp;diff=7733"/>
		<updated>2014-04-30T09:58:36Z</updated>

		<summary type="html">&lt;p&gt;Velross: переименовал «Скачка файла с задержкой для гостей (TPL)» в «Скачка файла с задержкой для гостей»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Скачка файла с задержкой для гостей]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B2%D1%81%D0%B5%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%A6%D0%B5%D0%BD&amp;diff=7731</id>
		<title>Импорт всех типов Цен</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B2%D1%81%D0%B5%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%A6%D0%B5%D0%BD&amp;diff=7731"/>
		<updated>2014-04-30T09:55:58Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[category:Интеграция с 1С]]&lt;br /&gt;
Актуально для версии 2.9.6&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;&lt;br /&gt;
&lt;br /&gt;
Если вам необходимо при импорте данных из 1С, импортировать все типы цен, допустим такие как Оптовая, Розничная, Закупочная и т.п., то необходимо переписать xsl шаблон импорта. Можно воспользоваться следующим вариантом шаблона /xsl/import/custom/commerceML2.xsl:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- TODO: // Write here your own templates --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; xmlns:php=&amp;quot;http://php.net/xsl&amp;quot; xmlns:udt=&amp;quot;http://umi-cms.ru/2007/UData/templates&amp;quot; extension-element-prefixes=&amp;quot;php&amp;quot; exclude-result-prefixes=&amp;quot;xsl php udt&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:key name=&amp;quot;pricetype&amp;quot; match=&amp;quot;ТипыЦен/ТипЦены&amp;quot; use=&amp;quot;Ид&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Предложения --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:template match=&amp;quot;ПакетПредложений&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;meta&amp;gt;&lt;br /&gt;
          &amp;lt;source-name&amp;gt;commerceML2&amp;lt;/source-name&amp;gt;&lt;br /&gt;
        &amp;lt;/meta&amp;gt;&lt;br /&gt;
        &amp;lt;pages&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:apply-templates select=&amp;quot;Предложения/Предложение&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/pages&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;page id=&amp;quot;{Ид}&amp;quot; update-only=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;properties&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;Цены&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;group name=&amp;quot;catalog_stores_props&amp;quot; title=&amp;quot;Склады&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;property name=&amp;quot;common_quantity&amp;quot; title=&amp;quot;Общее количество на складах&amp;quot; type=&amp;quot;float&amp;quot; is-public=&amp;quot;1&amp;quot; allow-runtime-add=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;type data-type=&amp;quot;float&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;title&amp;gt;Общее количество на складах&amp;lt;/title&amp;gt;&lt;br /&gt;
                &amp;lt;value&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;Количество&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/value&amp;gt;&lt;br /&gt;
              &amp;lt;/property&amp;gt;&lt;br /&gt;
            &amp;lt;/group&amp;gt;&lt;br /&gt;
          &amp;lt;/properties&amp;gt;&lt;br /&gt;
        &amp;lt;/page&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;group name=&amp;quot;cenovye_svojstva&amp;quot; title=&amp;quot;Ценовые свойства&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:apply-templates select=&amp;quot;Цена&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/group&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:variable name=&amp;quot;currency_ref&amp;quot; select=&amp;quot;concat(&amp;#039;udata://exchange/getCurrencyCodeByAlias/?alias=&amp;#039;, php:function(&amp;#039;urlencode&amp;#039;, string(Валюта)))&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;document($currency_ref)/udata&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;property name=&amp;quot;price{position()}&amp;quot; is-public=&amp;quot;1&amp;quot; visible=&amp;quot;visible&amp;quot; allow-runtime-add=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;key(&amp;#039;pricetype&amp;#039;, ИдТипаЦены)/Наименование&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;type data-type=&amp;quot;float&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;Цена&amp;lt;xsl:value-of select=&amp;quot;position()&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;value currency_code=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ЦенаЗаЕдиницу&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      &amp;lt;xsl:template match=&amp;quot;Цена[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;currency_ref&amp;quot; select=&amp;quot;concat(&amp;#039;udata://exchange/getCurrencyCodeByAlias/?alias=&amp;#039;, php:function(&amp;#039;urlencode&amp;#039;, string(Валюта)))&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;currency&amp;quot; select=&amp;quot;document($currency_ref)/udata&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;property name=&amp;quot;price&amp;quot; is-public=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:attribute name=&amp;quot;title&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;key(&amp;#039;pricetype&amp;#039;, ИдТипаЦены)/Наименование&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
          &amp;lt;type data-type=&amp;quot;price&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;Цена&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;value currency_code=&amp;quot;{$currency}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ЦенаЗаЕдиницу&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После импорта всех данных, необходимо вручную сделать небольшую правку, необходимо изменить название основной (1-ой) Цены в типе данных «Объект каталога».&lt;br /&gt;
&lt;br /&gt;
О том как использовать несколько Цен, назначенных для одного товара, можно прочитать в данной статье: [http://wiki.umisoft.ru/Использование_нескольких_Цен_для_одного_товара Использование нескольких Цен для одного товара]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Интеграция с 1С]][[Категория:Модуль Обмен данными]][[Категория:Модуль Каталог]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D1%81_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_usel_%D0%B8%D0%BB%D0%B8_API&amp;diff=7730</id>
		<title>Поиск страниц с другого домена используя протокол usel или API</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D1%81_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_usel_%D0%B8%D0%BB%D0%B8_API&amp;diff=7730"/>
		<updated>2014-04-30T09:24:51Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;При использовании протокола [http://help-dev.umi-cms.ru/chapter.XSLTTemplates.usel.html USEL], &lt;br /&gt;
XML-шаблон поиска корневых страниц другого домена должен быть следующим:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;selection&amp;gt;&lt;br /&gt;
    &amp;lt;target result=&amp;quot;pages&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;domain&amp;gt;2&amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;option name=&amp;quot;exclude-nested&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/selection&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где 2 - это id домена, а параметр exclude-nested отключает поиск вложенных страниц.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
При использовании API Umi.Cms, поиск страниц на другом домене можно произвести с использование протокола &lt;br /&gt;
[http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/proizvolnye_vyborki/selector/ Selector], сам код выборки будет примерно такой:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pages = new selector(&amp;#039;pages&amp;#039;);&lt;br /&gt;
$pages-&amp;gt;where(&amp;#039;domain&amp;#039;)-&amp;gt;equals(domain); // Если вместо слова &amp;#039;domain&amp;#039; указать false, поиск будет во всех доменах&lt;br /&gt;
$pages-&amp;gt;where(&amp;#039;lang&amp;#039;)-&amp;gt;equals(lang); // Если вместо слова &amp;#039;lang&amp;#039; указать false, поиск будет во всех доменах&lt;br /&gt;
&lt;br /&gt;
foreach($pages as $page) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$page-&amp;gt;link}&amp;#039;&amp;gt;{$page-&amp;gt;name}&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Pages found: &amp;quot; . $pages-&amp;gt;length;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;domain&amp;#039;&amp;#039;&amp;#039; - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам, если передать id домена, то поиск будет идти в указанном домене. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;lang&amp;#039;&amp;#039;&amp;#039; - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам, если передать id домена, то поиск будет идти в указанном домене.&lt;br /&gt;
 &lt;br /&gt;
[[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D1%81_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_usel_%D0%B8%D0%BB%D0%B8_API&amp;diff=7729</id>
		<title>Поиск страниц с другого домена используя протокол usel или API</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D1%81_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_usel_%D0%B8%D0%BB%D0%B8_API&amp;diff=7729"/>
		<updated>2014-04-30T09:21:52Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;При использовании протокола [http://help-dev.umi-cms.ru/chapter.XSLTTemplates.usel.html USEL], &lt;br /&gt;
XML-шаблон поиска корневых страниц другого домена должен быть следующим:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;selection&amp;gt;&lt;br /&gt;
    &amp;lt;target result=&amp;quot;pages&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;domain&amp;gt;2&amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;option name=&amp;quot;exclude-nested&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/selection&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где 2 - это id домена, а параметр exclude-nested отключает поиск вложенных страниц.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
При использовании API Umi.Cms, поиск страниц на другом домене можно произвести с использование протокола &lt;br /&gt;
[http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/proizvolnye_vyborki/selector/ Selector], сам код выборки будет примерно такой:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pages = new selector(&amp;#039;pages&amp;#039;);&lt;br /&gt;
$pages-&amp;gt;where(&amp;#039;domain&amp;#039;)-&amp;gt;equals(domain); // Если вместо слова &amp;#039;domain&amp;#039; указать false, поиск будет во всех доменах&lt;br /&gt;
$pages-&amp;gt;where(&amp;#039;lang&amp;#039;)-&amp;gt;equals(lang); // Если вместо слова &amp;#039;lang&amp;#039; указать false, поиск будет во всех доменах&lt;br /&gt;
&lt;br /&gt;
foreach($pages as $page) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$page-&amp;gt;link}&amp;#039;&amp;gt;{$page-&amp;gt;name}&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Pages found: &amp;quot; . $pages-&amp;gt;length;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;domain&amp;#039;&amp;#039;&amp;#039; - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам. &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;lang&amp;#039;&amp;#039;&amp;#039; - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам. &lt;br /&gt;
Дополнительная информация по протоколу umiSelection: [http://api.umi-cms.ru/api_samples.selections.html Примеры использования]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D1%81_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_usel_%D0%B8%D0%BB%D0%B8_API&amp;diff=7728</id>
		<title>Поиск страниц с другого домена используя протокол usel или API</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_%D1%81_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_usel_%D0%B8%D0%BB%D0%B8_API&amp;diff=7728"/>
		<updated>2014-04-30T09:00:21Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;При использовании протокола [http://help-dev.umi-cms.ru/chapter.XSLTTemplates.usel.html USEL], &lt;br /&gt;
XML-шаблон поиска корневых страниц другого домена должен быть следующим:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;selection&amp;gt;&lt;br /&gt;
    &amp;lt;target result=&amp;quot;pages&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;domain&amp;gt;2&amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;option name=&amp;quot;exclude-nested&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/selection&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где 2 - это id домена, а параметр exclude-nested отключает поиск вложенных страниц.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
При использовании API Umi.Cms, поиск страниц на другом домене можно произвести с использование протокола &lt;br /&gt;
[http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/proizvolnye_vyborki/selector/ Selector], сам код выборки будет примерно такой:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pages = new selector(&amp;#039;pages&amp;#039;);&lt;br /&gt;
$pages-&amp;gt;where(&amp;#039;domain&amp;#039;)-&amp;gt;equals(false); // Искать во всех доменах&lt;br /&gt;
$pages-&amp;gt;where(&amp;#039;lang&amp;#039;)-&amp;gt;equals(false); // Искать во всех языковых версиях&lt;br /&gt;
&lt;br /&gt;
foreach($pages as $page) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$page-&amp;gt;link}&amp;#039;&amp;gt;{$page-&amp;gt;name}&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Pages found: &amp;quot; . $pages-&amp;gt;length;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дополнительная информация по протоколу umiSelection: [http://api.umi-cms.ru/api_samples.selections.html Примеры использования]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BE%D0%B1%D1%80%D0%B5%D0%B7%D0%B0%D1%82%D1%8C_%D0%B0%D0%BD%D0%BE%D0%BD%D1%81_%D0%B4%D0%BE_n-%D0%BE%D0%B3%D0%BE_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B0&amp;diff=7726</id>
		<title>Как обрезать анонс до n-ого символа</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BE%D0%B1%D1%80%D0%B5%D0%B7%D0%B0%D1%82%D1%8C_%D0%B0%D0%BD%D0%BE%D0%BD%D1%81_%D0%B4%D0%BE_n-%D0%BE%D0%B3%D0%BE_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B0&amp;diff=7726"/>
		<updated>2014-04-30T08:42:20Z</updated>

		<summary type="html">&lt;p&gt;Velross: переименовал «Как обрезать анонс до n-ого символа? (TPL)» в «Как обрезать анонс до n-ого символа»:&amp;amp;#32;убрано из названия ? (TPL)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Необходимо обрезать значение какого-либо узла (div, span или любого дргуого) до указанного количества символов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Перед закрывающим тегом body необходимо добавить такой простой скрипт.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; &lt;br /&gt;
 tagList = document.getElementsByName(&amp;#039;str_cut&amp;#039;);&lt;br /&gt;
  for (var i = 0; i &amp;lt; tagList.length; i++) { &lt;br /&gt;
   if (tagList.item(i).innerHTML.length &amp;gt; 50){&lt;br /&gt;
    tagList.item(i).innerHTML = tagList.item(i).innerHTML.slice( 0, 50 ) + &amp;#039;…&amp;#039;;&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Этот скрипт будет обрезать строку до 50 симвалов и ставить в конец три точки. Обрезаться будет содержание только тех тегов, атрибут name которых name=&amp;#039;str_cut&amp;#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div name=&amp;#039;str_cut&amp;#039;&amp;gt; Текст, который нужно обрезать &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Модуль Структура]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BE%D0%B1%D1%80%D0%B5%D0%B7%D0%B0%D1%82%D1%8C_%D0%B0%D0%BD%D0%BE%D0%BD%D1%81_%D0%B4%D0%BE_n-%D0%BE%D0%B3%D0%BE_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B0%3F_(TPL)&amp;diff=7727</id>
		<title>Как обрезать анонс до n-ого символа? (TPL)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BE%D0%B1%D1%80%D0%B5%D0%B7%D0%B0%D1%82%D1%8C_%D0%B0%D0%BD%D0%BE%D0%BD%D1%81_%D0%B4%D0%BE_n-%D0%BE%D0%B3%D0%BE_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B0%3F_(TPL)&amp;diff=7727"/>
		<updated>2014-04-30T08:42:20Z</updated>

		<summary type="html">&lt;p&gt;Velross: переименовал «Как обрезать анонс до n-ого символа? (TPL)» в «Как обрезать анонс до n-ого символа»:&amp;amp;#32;убрано из названия ? (TPL)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Как обрезать анонс до n-ого символа]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7725</id>
		<title>Уведомление модератора о новом сообщении на форуме</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&amp;diff=7725"/>
		<updated>2014-04-30T08:23:27Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В настройках модуля Форум существует настройка, позволяющая запретить публикацию сообщений модерации модератором. Однако, в стандартном функционале системы не предусмотрена возможность автоматического уведомления модератора о новом сообщении.&lt;br /&gt;
&lt;br /&gt;
Для реализации данной задачи потребуется написать несложный кастомный макрос.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файл &amp;#039;&amp;#039;&amp;#039;~classes/modules/forum/__custom.php&amp;#039;&amp;#039;&amp;#039; необходимо добавить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function newPostMail(umiEventPoint $event) {&lt;br /&gt;
				&lt;br /&gt;
	$message_id  = $event-&amp;gt;getParam(&amp;#039;message_id&amp;#039;);&lt;br /&gt;
						&lt;br /&gt;
	$Name = &amp;quot;Admin ИМЯ_ДОМЕНА.ru&amp;quot;; //senders name&lt;br /&gt;
	$email = &amp;quot;no-replay@pИМЯ_ДОМЕНА.ru&amp;quot;; //senders e-mail adress&lt;br /&gt;
	$recipient = &amp;quot;addres@gmail.com&amp;quot;; //recipient&lt;br /&gt;
	$mail_body = &amp;quot;В форум было добавлено новое сообщение. Ссылка на редактирование http://ВАШ_ДОМЕН.ru/admin/forum/edit/$message_id&amp;quot;; //mail body&lt;br /&gt;
	$subject = &amp;quot;Новое сообщение в форуме&amp;quot;; //subject&lt;br /&gt;
	$header = &amp;quot;From: &amp;quot;. $Name . &amp;quot; &amp;lt;&amp;quot; . $email . &amp;quot;&amp;gt;\r\n&amp;quot;; //optional headerfields&lt;br /&gt;
&lt;br /&gt;
	if(mail($recipient, $subject, $mail_body, $header)){&lt;br /&gt;
		return true;&lt;br /&gt;
	} else {&lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
А также в файл &amp;#039;&amp;#039;&amp;#039;~classes\modules\forum\custom_events.php&amp;#039;&amp;#039;&amp;#039; добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$oAddCommentListener = new umiEventListener(&amp;quot;forum_message_post_do&amp;quot;, &amp;quot;forum&amp;quot;, &amp;quot;newPostMail&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Категория:Модуль Форум]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9D%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83_%D0%B4%D0%BB%D1%8F_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83_%D0%B5%D1%81%D0%BB%D0%B8_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82_%D0%BD%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5&amp;diff=7723</id>
		<title>Не выводить ссылку для добавления товара в корзину если его нет на складе</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9D%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83_%D0%B4%D0%BB%D1%8F_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83_%D0%B5%D1%81%D0%BB%D0%B8_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82_%D0%BD%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5&amp;diff=7723"/>
		<updated>2014-04-30T07:52:38Z</updated>

		<summary type="html">&lt;p&gt;Velross: переименовал «Не выводить ссылку для добавления товара в корзину если его нет на складе (XSLT)» в «[[Не выводить ссылку для добавления товар&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; скрывать кнопку заказа при отсутствии товара на складе.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Часто бывает необходимость отключить возможность добавления товара в корзину (либо отключить вывод данного товара) если его нет на складе. &lt;br /&gt;
&lt;br /&gt;
Ниже представлен пример XSLT шаблона который реализует данную задачу:&lt;br /&gt;
&lt;br /&gt;
Записываем в переменную &amp;#039;&amp;#039;&amp;#039;$sklad&amp;#039;&amp;#039;&amp;#039; количество товара на складе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;sklad&amp;quot; select=&amp;quot;//property[@name = &amp;#039;stores_state&amp;#039;]/value/option/@int&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&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;xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:when test=&amp;quot;$sklad &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot;&lt;br /&gt;
		class=&amp;quot;button basket_list&amp;quot; href=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{@id}/&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:text&amp;gt;&amp;amp;basket-add; &amp;lt;/xsl:text&amp;gt;	&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;element_id&amp;quot; select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test=&amp;quot;$cart_items and $cart_items/item[page/@id = $element_id]&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:value-of select=&amp;quot;sum($cart_items/item[page/@id = $element_id]/amount)&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:text&amp;gt;НЕТ В НАЛИЧИИ &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вместо надписи НЕТ В НАЛИЧИИ можно указать ссылку на форму обратной связи, через которую покупатель сможет отправить заявку на нужный товар.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Модуль Каталог]][[Категория:Верстка в XSLT]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9D%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83_%D0%B4%D0%BB%D1%8F_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83_%D0%B5%D1%81%D0%BB%D0%B8_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82_%D0%BD%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5_(XSLT)&amp;diff=7724</id>
		<title>Не выводить ссылку для добавления товара в корзину если его нет на складе (XSLT)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9D%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83_%D0%B4%D0%BB%D1%8F_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83_%D0%B5%D1%81%D0%BB%D0%B8_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82_%D0%BD%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5_(XSLT)&amp;diff=7724"/>
		<updated>2014-04-30T07:52:38Z</updated>

		<summary type="html">&lt;p&gt;Velross: переименовал «Не выводить ссылку для добавления товара в корзину если его нет на складе (XSLT)» в «[[Не выводить ссылку для добавления товар&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Не выводить ссылку для добавления товара в корзину если его нет на складе]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9D%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83_%D0%B4%D0%BB%D1%8F_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83_%D0%B5%D1%81%D0%BB%D0%B8_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82_%D0%BD%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5&amp;diff=7722</id>
		<title>Не выводить ссылку для добавления товара в корзину если его нет на складе</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9D%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83_%D0%B4%D0%BB%D1%8F_%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83_%D0%B5%D1%81%D0%BB%D0%B8_%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D1%82_%D0%BD%D0%B0_%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5&amp;diff=7722"/>
		<updated>2014-04-30T07:52:00Z</updated>

		<summary type="html">&lt;p&gt;Velross: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Актуально для версии 2.9.6&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; скрывать кнопку заказа при отсутствии товара на складе.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Решение:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Часто бывает необходимость отключить возможность добавления товара в корзину (либо отключить вывод данного товара) если его нет на складе. &lt;br /&gt;
&lt;br /&gt;
Ниже представлен пример XSLT шаблона который реализует данную задачу:&lt;br /&gt;
&lt;br /&gt;
Записываем в переменную &amp;#039;&amp;#039;&amp;#039;$sklad&amp;#039;&amp;#039;&amp;#039; количество товара на складе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;sklad&amp;quot; select=&amp;quot;//property[@name = &amp;#039;stores_state&amp;#039;]/value/option/@int&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&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;xsl:choose&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:when test=&amp;quot;$sklad &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot;&lt;br /&gt;
		class=&amp;quot;button basket_list&amp;quot; href=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{@id}/&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:text&amp;gt;&amp;amp;basket-add; &amp;lt;/xsl:text&amp;gt;	&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;element_id&amp;quot; select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test=&amp;quot;$cart_items and $cart_items/item[page/@id = $element_id]&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt; (&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:value-of select=&amp;quot;sum($cart_items/item[page/@id = $element_id]/amount)&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:text&amp;gt;)&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:text&amp;gt;НЕТ В НАЛИЧИИ &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вместо надписи НЕТ В НАЛИЧИИ можно указать ссылку на форму обратной связи, через которую покупатель сможет отправить заявку на нужный товар.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Модуль Каталог]][[Категория:Верстка в XSLT]]&lt;/div&gt;</summary>
		<author><name>Velross</name></author>
		
	</entry>
</feed>