<?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=Yulia</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=Yulia"/>
	<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/Yulia"/>
	<updated>2026-04-07T15:07:29Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B7%D0%BE%D0%B2_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B2_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC&amp;diff=4458</id>
		<title>Вызов методов одного модуля в другом</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B7%D0%BE%D0%B2_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B2_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC&amp;diff=4458"/>
		<updated>2013-03-04T12:49:09Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Возникают задачи, когда необходимо воспользоваться функционалом модуля, находясь при это…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Возникают задачи, когда необходимо воспользоваться функционалом модуля, находясь при этом не в нем. В данном случае получить доступ к другому модулю можно через методы объекта экземпляра класса этого модуля.&lt;br /&gt;
Для получения такого объекта необходимо вызвать метод getModule класса cmsController:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if ($oUsersMdl = cmsController::getInstance()-&amp;gt;getModule(&amp;quot;users&amp;quot;)) {&lt;br /&gt;
	if ($oUsersMdl-&amp;gt;is_auth()) {&lt;br /&gt;
		echo &amp;quot;Здравствуйте, &amp;quot; . $oUsersMdl-&amp;gt;user_fullname . &amp;quot; (&amp;quot; .$oUsersMdl-&amp;gt;user_login . &amp;quot;)&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		echo &amp;quot;Вы гость&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
} else {&lt;br /&gt;
	echo &amp;quot;Не удалось загрузить модуль&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В приведенном выше примере мы получили экземпляр модуля &amp;quot;users&amp;quot; и все доступные у него методы и свойства &lt;br /&gt;
(в качестве примера проверили, авторизован ли пользователь).&lt;br /&gt;
&lt;br /&gt;
Для вызова модулей core, system и custom следует использовать запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if($macros[&amp;#039;module&amp;#039;] == &amp;quot;core&amp;quot; || $macros[&amp;#039;module&amp;#039;] == &amp;quot;system&amp;quot; || $macros[&amp;#039;module&amp;#039;] == &amp;quot;custom&amp;quot;) {&lt;br /&gt;
	$module = &amp;amp;system_buildin_load($macros[&amp;#039;module&amp;#039;]);&lt;br /&gt;
} else {&lt;br /&gt;
	$module = cmsController::getInstance()-&amp;gt;getModule($macros[&amp;#039;module&amp;#039;]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если модуль загрузить не удастся, то метод getModule вернет false.&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4457</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4457"/>
		<updated>2013-03-04T12:45:23Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;br /&gt;
&lt;br /&gt;
== Февраль: ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Обрамление тегом p (Параграф)]]&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;
== Январь: ==&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;li&amp;gt;[[Вывод превью других товаров из раздела (xslt)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь: ==&lt;br /&gt;
&lt;br /&gt;
&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;li&amp;gt;[[Отображение в счёте для юридических лиц цены с НДС]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4443</id>
		<title>Создание своих типов доставки</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4443"/>
		<updated>2013-02-21T13:30:50Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Чтобы создать свой тип доставки, нужно сперва создать в корне сайта файл, поместить в него и выполнить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	$className = &amp;quot;my&amp;quot;;&lt;br /&gt;
	$deliveryName = &amp;quot;Моя доставка&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	include &amp;quot;standalone.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$objectTypesCollection = umiObjectTypesCollection::getInstance();&lt;br /&gt;
	$objectsCollection = umiObjectsCollection::getInstance();&lt;br /&gt;
&lt;br /&gt;
	// получаем родительский тип&lt;br /&gt;
	$parentTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-delivery&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	// Тип для внутреннего объека, связанного с публичным типом&lt;br /&gt;
	$internalTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-deliverytype&amp;quot;);&lt;br /&gt;
	$typeId = $objectTypesCollection-&amp;gt;addType($parentTypeId, $deliveryName);&lt;br /&gt;
&lt;br /&gt;
	// Создаем внутренний объект&lt;br /&gt;
	$internalObjectId = $objectsCollection-&amp;gt;addObject($deliveryName, $internalTypeId);&lt;br /&gt;
	$internalObject = $objectsCollection-&amp;gt;getObject($internalObjectId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;class_name&amp;quot;, $className); // имя класса для реализации&lt;br /&gt;
&lt;br /&gt;
	// связываем его с типом&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_id&amp;quot;, $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_guid&amp;quot;, &amp;quot;user-emarket-delivery-&amp;quot; . $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	// Связываем внешний тип и внутренний объект&lt;br /&gt;
	$type = $objectTypesCollection-&amp;gt;getType($typeId);&lt;br /&gt;
	$type-&amp;gt;setGUID($internalObject-&amp;gt;getValue(&amp;quot;delivery_type_guid&amp;quot;));&lt;br /&gt;
	$type-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;Готово!&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы добавили новый &amp;#039;&amp;#039;&amp;#039;тип&amp;#039;&amp;#039;&amp;#039; доставки с именем &amp;quot;Моя доставка&amp;quot;, теперь необходимо реализовать &amp;#039;&amp;#039;&amp;#039;способ&amp;#039;&amp;#039;&amp;#039; доставки.&lt;br /&gt;
Для этого нам потребуется создать класс myDelivery в файле /classes/modules/emarket/classes/delivery/systems/my.php. &lt;br /&gt;
Пусть наш способ доставки действует только для заказов на сумму от 1200р и сама доставка будет стоить 500р.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	class myDelivery extends delivery {&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Определяем, возможен ли данный способ доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return bool&lt;br /&gt;
		 */&lt;br /&gt;
		public function validate(order $order) {&lt;br /&gt;
			return ($order-&amp;gt;getActualPrice() &amp;gt; 1200);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Стоимость доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return int стоимость&lt;br /&gt;
		 */&lt;br /&gt;
		public function getDeliveryPrice(order $order) {&lt;br /&gt;
			return 500;&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;
Также мы можем расширить созданный ранее тип доставки, отредактировав тип данных. Например, через модуль Шаблоны Данных добавим новое поле &amp;quot;Стоимость&amp;quot; с идентификатором &amp;quot;price&amp;quot; в наш тип доставки. Теперь изменим метод getDeliveryPrice, чтобы он использовал созданное поле price:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function getDeliveryPrice(order $order) {&lt;br /&gt;
	return $this-&amp;gt;object-&amp;gt;getValue(&amp;#039;price&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом, при создании способа доставки можно будет указать значения для полей, которые были созданы.&lt;br /&gt;
&lt;br /&gt;
На основе данной статьи можно также создавать и модифицировать типы оплаты, модификаторы и правила скидок, валюты и другой функционал модуля Интернет-Магазин.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Модуль Интернет магазин]][[Категория: API]]&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4442</id>
		<title>Создание своих типов доставки</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4442"/>
		<updated>2013-02-21T13:25:07Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Чтобы создать свой тип доставки, нужно сперва создать в корне сайта файл, поместить в него и выполнить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	$className = &amp;quot;my&amp;quot;;&lt;br /&gt;
	$deliveryName = &amp;quot;Моя доставка&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	include &amp;quot;standalone.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$objectTypesCollection = umiObjectTypesCollection::getInstance();&lt;br /&gt;
	$objectsCollection = umiObjectsCollection::getInstance();&lt;br /&gt;
&lt;br /&gt;
	// получаем родительский тип&lt;br /&gt;
	$parentTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-delivery&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	// Тип для внутреннего объека, связанного с публичным типом&lt;br /&gt;
	$internalTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-deliverytype&amp;quot;);&lt;br /&gt;
	$typeId = $objectTypesCollection-&amp;gt;addType($parentTypeId, $deliveryName);&lt;br /&gt;
&lt;br /&gt;
	// Создаем внутренний объект&lt;br /&gt;
	$internalObjectId = $objectsCollection-&amp;gt;addObject($deliveryName, $internalTypeId);&lt;br /&gt;
	$internalObject = $objectsCollection-&amp;gt;getObject($internalObjectId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;class_name&amp;quot;, $className); // имя класса для реализации&lt;br /&gt;
&lt;br /&gt;
	// связываем его с типом&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_id&amp;quot;, $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_guid&amp;quot;, &amp;quot;user-emarket-delivery-&amp;quot; . $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	// Связываем внешний тип и внутренний объект&lt;br /&gt;
	$type = $objectTypesCollection-&amp;gt;getType($typeId);&lt;br /&gt;
	$type-&amp;gt;setGUID($internalObject-&amp;gt;getValue(&amp;quot;delivery_type_guid&amp;quot;));&lt;br /&gt;
	$type-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;Готово!&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы добавили новый &amp;#039;&amp;#039;&amp;#039;тип&amp;#039;&amp;#039;&amp;#039; доставки с именем &amp;quot;Моя доставка&amp;quot;, теперь необходимо реализовать &amp;#039;&amp;#039;&amp;#039;способ&amp;#039;&amp;#039;&amp;#039; доставки.&lt;br /&gt;
Для этого нам потребуется создать класс myDelivery в файле /classes/modules/emarket/classes/delivery/systems/my.php. &lt;br /&gt;
Пусть наш способ доставки действует только для заказов на сумму от 1200р и сама доставка будет стоить 500р.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	class myDelivery extends delivery {&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Определяем, возможен ли данный способ доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return bool&lt;br /&gt;
		 */&lt;br /&gt;
		public function validate(order $order) {&lt;br /&gt;
			return ($order-&amp;gt;getActualPrice() &amp;gt; 1200);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Стоимость доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return int стоимость&lt;br /&gt;
		 */&lt;br /&gt;
		public function getDeliveryPrice(order $order) {&lt;br /&gt;
			return 500;&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;
Также мы можем расширить созданный ранее тип доставки, отредактировав тип данных. Например, через модуль Шаблоны Данных добавим новое поле &amp;quot;Стоимость&amp;quot; с идентификатором &amp;quot;price&amp;quot; в наш тип доставки. Теперь изменим метод getDeliveryPrice, чтобы он использовал созданное поле price:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function getDeliveryPrice(order $order) {&lt;br /&gt;
	return $this-&amp;gt;object-&amp;gt;getValue(&amp;#039;price&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом, при создании способа доставки можно будет указать значения для полей, которые были созданы.&lt;br /&gt;
&lt;br /&gt;
На основе данной статьи можно также создавать и модифицировать типы оплаты, модификаторы и правила скидок, валюты и другой функционал модуля Интернет-Магазин.&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4441</id>
		<title>Создание своих типов доставки</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4441"/>
		<updated>2013-02-21T13:23:33Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Чтобы создать свой тип доставки, нужно сперва создать в корне сайта файл, поместить в него и выполнить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	$className = &amp;quot;my&amp;quot;;&lt;br /&gt;
	$deliveryName = &amp;quot;Моя доставка&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	include &amp;quot;standalone.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$objectTypesCollection = umiObjectTypesCollection::getInstance();&lt;br /&gt;
	$objectsCollection = umiObjectsCollection::getInstance();&lt;br /&gt;
&lt;br /&gt;
	// получаем родительский тип&lt;br /&gt;
	$parentTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-delivery&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	// Тип для внутреннего объека, связанного с публичным типом&lt;br /&gt;
	$internalTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-deliverytype&amp;quot;);&lt;br /&gt;
	$typeId = $objectTypesCollection-&amp;gt;addType($parentTypeId, $deliveryName);&lt;br /&gt;
&lt;br /&gt;
	// Создаем внутренний объект&lt;br /&gt;
	$internalObjectId = $objectsCollection-&amp;gt;addObject($deliveryName, $internalTypeId);&lt;br /&gt;
	$internalObject = $objectsCollection-&amp;gt;getObject($internalObjectId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;class_name&amp;quot;, $className); // имя класса для реализации&lt;br /&gt;
&lt;br /&gt;
	// связываем его с типом&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_id&amp;quot;, $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_guid&amp;quot;, &amp;quot;user-emarket-delivery-&amp;quot; . $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	// Связываем внешний тип и внутренний объект&lt;br /&gt;
	$type = $objectTypesCollection-&amp;gt;getType($typeId);&lt;br /&gt;
	$type-&amp;gt;setGUID($internalObject-&amp;gt;getValue(&amp;quot;delivery_type_guid&amp;quot;));&lt;br /&gt;
	$type-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;Готово!&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы добавили новый &amp;#039;&amp;#039;&amp;#039;тип&amp;#039;&amp;#039;&amp;#039; доставки с именем &amp;quot;Моя доставка&amp;quot;, теперь необходимо реализовать &amp;#039;&amp;#039;&amp;#039;способ&amp;#039;&amp;#039;&amp;#039; доставки.&lt;br /&gt;
Для этого нам потребуется создать класс myDelivery в файле /classes/modules/emarket/classes/delivery/systems/my.php. &lt;br /&gt;
Пусть наш способ доставки действует только для заказов на сумму от 1200р и сама доставка будет стоить 500р.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	class myDelivery extends delivery {&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Определяем, возможен ли данный способ доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return bool&lt;br /&gt;
		 */&lt;br /&gt;
		public function validate(order $order) {&lt;br /&gt;
			return ($order-&amp;gt;getActualPrice() &amp;gt; 1200);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Стоимость доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return int стоимость&lt;br /&gt;
		 */&lt;br /&gt;
		public function getDeliveryPrice(order $order) {&lt;br /&gt;
			return 500;&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;
Также мы можем расширить созданный ранее тип доставки, отредактировав тип данных. Например, через модуль Шаблоны Данных добавим новое поле &amp;quot;Стоимость&amp;quot; с идентификатором &amp;quot;price&amp;quot; в наш тип доставки. Теперь изменим метод getDeliveryPrice, чтобы он использовал созданное поле price:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function getDeliveryPrice(order $order) {&lt;br /&gt;
	return $this-&amp;gt;object-&amp;gt;getValue(price);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом, при создании способа доставки можно будет указать значения для полей, которые были созданы.&lt;br /&gt;
&lt;br /&gt;
На основе данной статьи можно также создавать и модифицировать типы оплаты, модификаторы и правила скидок, валюты и другой функционал модуля Интернет-Магазин.&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4440</id>
		<title>Создание своих типов доставки</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B8%D1%85_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8&amp;diff=4440"/>
		<updated>2013-02-21T13:18:10Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Чтобы создать свой тип доставки, нужно сперва создать в корне сайта файл, поместить в него …»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Чтобы создать свой тип доставки, нужно сперва создать в корне сайта файл, поместить в него и выполнить следующий код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	$className = &amp;quot;my&amp;quot;;&lt;br /&gt;
	$deliveryName = &amp;quot;Моя доставка&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	include &amp;quot;standalone.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$objectTypesCollection = umiObjectTypesCollection::getInstance();&lt;br /&gt;
	$objectsCollection = umiObjectsCollection::getInstance();&lt;br /&gt;
&lt;br /&gt;
	// получаем родительский тип&lt;br /&gt;
	$parentTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-delivery&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	// Тип для внутреннего объека, связанного с публичным типом&lt;br /&gt;
	$internalTypeId = $objectTypesCollection-&amp;gt;getTypeIdByGUID(&amp;quot;emarket-deliverytype&amp;quot;);&lt;br /&gt;
	$typeId = $objectTypesCollection-&amp;gt;addType($parentTypeId, $deliveryName);&lt;br /&gt;
&lt;br /&gt;
	// Создаем внутренний объект&lt;br /&gt;
	$internalObjectId = $objectsCollection-&amp;gt;addObject($deliveryName, $internalTypeId);&lt;br /&gt;
	$internalObject = $objectsCollection-&amp;gt;getObject($internalObjectId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;class_name&amp;quot;, $className); // имя класса для реализации&lt;br /&gt;
&lt;br /&gt;
	// связываем его с типом&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_id&amp;quot;, $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;setValue(&amp;quot;delivery_type_guid&amp;quot;, &amp;quot;user-emarket-delivery-&amp;quot; . $typeId);&lt;br /&gt;
	$internalObject-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	// Связываем внешний тип и внутренний объект&lt;br /&gt;
	$type = $objectTypesCollection-&amp;gt;getType($typeId);&lt;br /&gt;
	$type-&amp;gt;setGUID($internalObject-&amp;gt;getValue(&amp;quot;delivery_type_guid&amp;quot;));&lt;br /&gt;
	$type-&amp;gt;commit();&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;Готово!&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы добавили новый &amp;#039;&amp;#039;&amp;#039;тип&amp;#039;&amp;#039;&amp;#039; доставки с именем &amp;quot;Моя доставка&amp;quot;, теперь необходимо реализовать &amp;#039;&amp;#039;&amp;#039;способ&amp;#039;&amp;#039;&amp;#039; доставки.&lt;br /&gt;
Для этого нам потребуется создать класс myDelivery в файле /classes/modules/emarket/classes/delivery/systems/my.php. &lt;br /&gt;
Пусть наш способ доставки действует только для заказов на сумму от 1200р и сама доставка будет стоить 500р.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	class myDelivery extends delivery {&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Определяем, возможен ли данный способ доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return bool&lt;br /&gt;
		 */&lt;br /&gt;
		public function validate(order $order) {&lt;br /&gt;
			return ($order-&amp;gt;getActualPrice() &amp;gt; 1200);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		/**&lt;br /&gt;
		 * Стоимость доставки для заказа&lt;br /&gt;
		 * @param order $order заказ&lt;br /&gt;
		 * @return int стоимость&lt;br /&gt;
		 */&lt;br /&gt;
		public function getDeliveryPrice(order $order) {&lt;br /&gt;
			return 500;&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;
Также мы можем расширить созданный ранее тип доставки, отредактировав тип данных. Например, через модуль Шаблоны Данных добавим новое поле &amp;quot;Стоимость&amp;quot; с идентификатором &amp;quot;price&amp;quot; в наш тип доставки. Теперь изменим метод getDeliveryPrice, чтобы он использовал созданное поле price:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function getDeliveryPrice(order $order) {&lt;br /&gt;
	return $this-&amp;gt;object-&amp;gt;getValue(price);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом, при создании способа доставки можно будет указать значения для полей, которые были созданы.&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4439</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4439"/>
		<updated>2013-02-21T12:53:32Z</updated>

		<summary type="html">&lt;p&gt;Yulia: /* Февраль: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Февраль: ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Обрамление тегом p (Параграф)]]&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;
== Январь: ==&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;li&amp;gt;[[Вывод превью других товаров из раздела (xslt)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь: ==&lt;br /&gt;
&lt;br /&gt;
&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;li&amp;gt;[[Отображение в счёте для юридических лиц цены с НДС]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4398</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4398"/>
		<updated>2013-02-06T09:10:18Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Февраль: ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Обрамление тегом p (Параграф)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&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;li&amp;gt;[[Вывод превью других товаров из раздела (xslt)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь: ==&lt;br /&gt;
&lt;br /&gt;
&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;li&amp;gt;[[Отображение в счёте для юридических лиц цены с НДС]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%B5%D0%B2%D1%8C%D1%8E_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D1%85_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2_%D0%B8%D0%B7_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0_(xslt)&amp;diff=4395</id>
		<title>Вывод превью других товаров из раздела (xslt)</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_%D0%BF%D1%80%D0%B5%D0%B2%D1%8C%D1%8E_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D1%85_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2_%D0%B8%D0%B7_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0_(xslt)&amp;diff=4395"/>
		<updated>2013-01-31T16:43:13Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: необходимо в карточке товара вывести превью других товаров из этого же раздела каталога.&lt;br /&gt;
&lt;br /&gt;
Получим все товары в разделе с помощью выборки Usel, для этого создадим файл /usels/optional.xml и поместим в него следующий код:&lt;br /&gt;
&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;type module=&amp;quot;catalog&amp;quot; method=&amp;quot;object&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;category depth=&amp;quot;1&amp;quot;&amp;gt;{parent}&amp;lt;/category&amp;gt;&lt;br /&gt;
	&amp;lt;/target&amp;gt;&lt;br /&gt;
	&amp;lt;extended&amp;gt;&lt;br /&gt;
        &amp;lt;properties&amp;gt;photo&amp;lt;/properties&amp;gt;&lt;br /&gt;
    &amp;lt;/extended&amp;gt;&lt;br /&gt;
&amp;lt;/selection&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В шаблоне вывода карточки товара в файле /www/templates/demodizzy/xslt/modules/catalog/object-view.xsl в нужном месте прописываем вызов Usel. Предварительно заведем переменную, в которой будет id текущего раздела, и передадим ее в качестве параметра для Usel:&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;par&amp;quot; &amp;gt; &lt;br /&gt;
	&amp;lt;xsl:value-of select=&amp;quot;.//page/@parentId&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;usel://optional/?parent=&amp;#039;,$par))&amp;quot; mode=&amp;quot;other&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заведем переменную, в которую будет передаваться id страницы текущего товара, чтобы впоследствии не отображать его в результатах выборки:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;current&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:value-of select=&amp;quot;result/page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&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:template match=&amp;quot;page&amp;quot; mode=&amp;quot;other&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:variable name=&amp;quot;oth&amp;quot;&amp;gt; &lt;br /&gt;
		&amp;lt;xsl:value-of select=&amp;quot;.//@id&amp;quot; /&amp;gt; &lt;br /&gt;
	&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$current!=$oth&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;pic_path&amp;quot; select=&amp;quot;.//property[@name=&amp;#039;photo&amp;#039;]/value&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;pic_min&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://system/makeThumbnail/(.&amp;#039;, $pic_path, &amp;#039;)/100/100&amp;#039;))/udata/src&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;obj_path&amp;quot; select=&amp;quot;.//@link&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;a href=&amp;quot;{$obj_path}&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;{$pic_min}&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&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;
&lt;br /&gt;
[[Категория:Модуль Каталог]][[Категория:Верстка в XSLT]]&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%B5%D0%B2%D1%8C%D1%8E_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D1%85_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2_%D0%B8%D0%B7_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0_(xslt)&amp;diff=4394</id>
		<title>Вывод превью других товаров из раздела (xslt)</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_%D0%BF%D1%80%D0%B5%D0%B2%D1%8C%D1%8E_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D1%85_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2_%D0%B8%D0%B7_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0_(xslt)&amp;diff=4394"/>
		<updated>2013-01-31T11:42:00Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Задача: необходимо в карточке товара вывести превью других товаров из этого же раздела ка…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: необходимо в карточке товара вывести превью других товаров из этого же раздела каталога.&lt;br /&gt;
&lt;br /&gt;
Получим все товары в разделе с помощью выборки Usel, для этого создадим файл /usels/optional.xml и поместим в него следующий код:&lt;br /&gt;
&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;type module=&amp;quot;catalog&amp;quot; method=&amp;quot;object&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;category depth=&amp;quot;1&amp;quot;&amp;gt;{parent}&amp;lt;/category&amp;gt;&lt;br /&gt;
	&amp;lt;/target&amp;gt;&lt;br /&gt;
	&amp;lt;extended&amp;gt;&lt;br /&gt;
        &amp;lt;properties&amp;gt;photo&amp;lt;/properties&amp;gt;&lt;br /&gt;
    &amp;lt;/extended&amp;gt;&lt;br /&gt;
&amp;lt;/selection&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В шаблоне вывода карточки товара в файле /www/templates/demodizzy/xslt/modules/catalog/object-view.xsl в нужном месте прописываем вызов Usel. Предварительно заведем переменную, в которой будет id текущего раздела, и передадим ее в качестве параметра для Usel:&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;par&amp;quot; &amp;gt; &lt;br /&gt;
	&amp;lt;xsl:value-of select=&amp;quot;.//page/@parentId&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;usel://optional/?parent=&amp;#039;,$par))&amp;quot; mode=&amp;quot;other&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заведем переменную, в которую будет передаваться id страницы текущего товара, чтобы впоследствии не отображать его в результатах выборки:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;current&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:value-of select=&amp;quot;result/page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&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:template match=&amp;quot;page&amp;quot; mode=&amp;quot;other&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:variable name=&amp;quot;oth&amp;quot;&amp;gt; &lt;br /&gt;
		&amp;lt;xsl:value-of select=&amp;quot;.//@id&amp;quot; /&amp;gt; &lt;br /&gt;
	&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$current!=$oth&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;pic_path&amp;quot; select=&amp;quot;.//property[@name=&amp;#039;photo&amp;#039;]/value&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;pic_min&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://system/makeThumbnail/(.&amp;#039;, $pic_path, &amp;#039;)/100/100&amp;#039;))/udata/src&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;obj_path&amp;quot; select=&amp;quot;.//@link&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;a href=&amp;quot;{$obj_path}&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;{$pic_min}&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&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;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4393</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4393"/>
		<updated>2013-01-31T11:19:21Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;li&amp;gt;[[Вывод превью других товаров из раздела (xslt)]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Декабрь: ==&lt;br /&gt;
&lt;br /&gt;
&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;li&amp;gt;[[Отображение в счёте для юридических лиц цены с НДС]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%B2%D1%81%D0%B5%D1%85_%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D0%B2_%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=4392</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_%D0%B2%D1%81%D0%B5%D1%85_%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D0%B2_%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=4392"/>
		<updated>2013-01-30T06:04:56Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: вывести все посты в блогах, созданные определенным пользователем.&lt;br /&gt;
&lt;br /&gt;
Для реализации данной задачи напишем кастомный макрос в файле /classes/modules/custom.php:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function postList($id){&lt;br /&gt;
	$posts = new selector(&amp;#039;pages&amp;#039;);&lt;br /&gt;
	$posts-&amp;gt;types(&amp;#039;hierarchy-type&amp;#039;)-&amp;gt;name(&amp;#039;blogs20&amp;#039;, &amp;#039;post&amp;#039;);&lt;br /&gt;
	$posts-&amp;gt;where(&amp;#039;owner&amp;#039;)-&amp;gt;equals($id);&lt;br /&gt;
	$res = &amp;quot;&amp;quot;;&lt;br /&gt;
	foreach ($posts as $post){&lt;br /&gt;
		$res.= &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=\&amp;quot;{$post-&amp;gt;link}\&amp;quot;&amp;gt;{$post-&amp;gt;name}&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	return $res;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый найденный пост будет оформляться в виде ссылки и выводиться списком.&lt;br /&gt;
&lt;br /&gt;
Вызов кастома пропишем в шаблоне /templates/demoold/tpls/users/profile/default.tpl, который отвечает за вывод страницы с профилем пользователя. При вызове кастома передаем id пользователя:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Посты в блогах:&lt;br /&gt;
&amp;lt;ul&amp;gt;%custom postList(%id%)%&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Написание кастомных макросов]][[Категория:Модуль Блоги20]]&lt;/div&gt;</summary>
		<author><name>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%B2%D1%81%D0%B5%D1%85_%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D0%B2_%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=4391</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_%D0%B2%D1%81%D0%B5%D1%85_%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D0%B2_%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=4391"/>
		<updated>2013-01-30T06:04:20Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Задача: вывести все посты в блогах, созданные определенным пользователем.  Для реализации …»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: вывести все посты в блогах, созданные определенным пользователем.&lt;br /&gt;
&lt;br /&gt;
Для реализации данной задачи напишем кастомный макрос в файле /classes/modules/custom.php:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function postList($id){&lt;br /&gt;
	$posts = new selector(&amp;#039;pages&amp;#039;);&lt;br /&gt;
	$posts-&amp;gt;types(&amp;#039;hierarchy-type&amp;#039;)-&amp;gt;name(&amp;#039;blogs20&amp;#039;, &amp;#039;post&amp;#039;);&lt;br /&gt;
	$posts-&amp;gt;where(&amp;#039;owner&amp;#039;)-&amp;gt;equals($id);&lt;br /&gt;
	$res = &amp;quot;&amp;quot;;&lt;br /&gt;
	foreach ($posts as $post){&lt;br /&gt;
		$res.= &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=\&amp;quot;{$post-&amp;gt;link}\&amp;quot;&amp;gt;{$post-&amp;gt;name}&amp;lt;/a&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	return $res;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый найденный пост будет оформляться в виде ссылки и выводиться списком.&lt;br /&gt;
&lt;br /&gt;
Вызов кастома пропишем в шаблоне \templates\demoold\tpls\users\profile\default.tpl, который отвечает за вывод страницы с профилем пользователя. При вызове кастома передаем id пользователя:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Посты в блогах:&lt;br /&gt;
&amp;lt;ul&amp;gt;%custom postList(%id%)%&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Написание кастомных макросов]][[Категория:Модуль Блоги20]]&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4390</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4390"/>
		<updated>2013-01-30T05:43:17Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
== Декабрь: ==&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;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;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>Yulia</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:Yulia&amp;diff=4374</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4374"/>
		<updated>2013-01-04T09:26:54Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;br /&gt;
&lt;br /&gt;
== Декабрь: ==&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;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;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>Yulia</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:Yulia&amp;diff=4368</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4368"/>
		<updated>2012-12-29T12:39:09Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Декабрь: ==&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;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;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;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>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%9E%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D1%81%D1%87%D1%91%D1%82%D0%B5_%D0%B4%D0%BB%D1%8F_%D1%8E%D1%80%D0%B8%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BB%D0%B8%D1%86_%D1%86%D0%B5%D0%BD%D1%8B_%D1%81_%D0%9D%D0%94%D0%A1&amp;diff=4367</id>
		<title>Отображение в счёте для юридических лиц цены с НДС</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%9E%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D1%81%D1%87%D1%91%D1%82%D0%B5_%D0%B4%D0%BB%D1%8F_%D1%8E%D1%80%D0%B8%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BB%D0%B8%D1%86_%D1%86%D0%B5%D0%BD%D1%8B_%D1%81_%D0%9D%D0%94%D0%A1&amp;diff=4367"/>
		<updated>2012-12-29T12:37:03Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: нужно в счёте для юридических лиц выводить цену с указанным НДС.&lt;br /&gt;
&lt;br /&gt;
Решение: редактируем шаблон, по которому выводится упомянутый выше счет. Находится он в файле \templates\demodizzy\xslt\sys-tpls\emarket-invoice.xsl.&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;table bgcolor=&amp;quot;#FFFFFF&amp;quot; width=&amp;quot;620&amp;quot; height=&amp;quot;1000&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
чтобы не было проблем с областью видимости:&lt;br /&gt;
&lt;br /&gt;
1) НДС 18%: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;xsl:variable name=&amp;quot;nds&amp;quot; select=&amp;quot;0.18&amp;quot; /&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
2) получим значение первоначальной цены: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;xsl:variable name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&amp;quot;$total_price&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
3) в этой переменной будет рассчитываться сам НДС в зависимости от цены:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;xsl:variable name=&amp;quot;nds_count&amp;quot; select=&amp;quot;$price * $nds&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
4) в этой переменной рассчитывается окончательная цена, с учетом НДС:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;xsl:variable name=&amp;quot;price_nds&amp;quot; select=&amp;quot;$price + $nds_count&amp;quot; /&amp;gt;&amp;lt;/source&amp;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;td colspan=&amp;quot;5&amp;quot; align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;b&amp;gt;В том числе НДС (18%):&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
следует написать:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;format-number($nds_count, &amp;#039;#.##&amp;#039;)&amp;quot; /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
это сформирует вывод значения, котрое мы получили в переменной в п.3.&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;td colspan=&amp;quot;5&amp;quot; align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Всего к оплате:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
пишем:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;format-number($price_nds, &amp;#039;#.##&amp;#039;)&amp;quot; /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
эта строка выведет значение, которое мы получили в переменной в п.4.&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:value-of select=&amp;quot;//property[@name=&amp;#039;total_amount&amp;#039;]/value&amp;quot; /&amp;gt;, на сумму &amp;lt;xsl:value-of select=&amp;quot;format-number(//property[@name=&amp;#039;total_price&amp;#039;]/value, &amp;#039;#.##&amp;#039;)&amp;quot; /&amp;gt; руб.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
и в строчке &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;(&amp;lt;xsl:value-of select=&amp;quot;php:function(&amp;#039;sumToString&amp;#039;, number(//property[@name=&amp;#039;total_price&amp;#039;]/value))&amp;quot; /&amp;gt;)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
следует заменить //property[@name=&amp;#039;total_price&amp;#039;]/value на $price_nds, чтобы выводить сумму с учетом налога.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Модуль Интернет магазин]] [[Категория:XSLT шаблонизатор]]&lt;/div&gt;</summary>
		<author><name>Yulia</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=4366</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=4366"/>
		<updated>2012-12-28T14:13:31Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Задача: активировать скидку, если у пользователя есть дисконтная карта.  Создадим новый ти…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: активировать скидку, если у пользователя есть дисконтная карта.&lt;br /&gt;
&lt;br /&gt;
Создадим новый тип данных &amp;quot;номер карты&amp;quot; в модуле &amp;quot;шаблоны данных&amp;quot; и отметим галочки Общедоступный и Можно использовать как справочник. В справочнике, который соответствует этому типу, будут храниться номера дисконтных карт.&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;
[[Категория:Модуль Интернет магазин]]&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4365</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4365"/>
		<updated>2012-12-28T14:08:19Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Декабрь: ==&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;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;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>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BE%D0%B1%D1%89%D0%B5%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2&amp;diff=4364</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_%D0%BE%D0%B1%D1%89%D0%B5%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2&amp;diff=4364"/>
		<updated>2012-12-27T15:12:12Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Для решения этой задачи используем кастомный макрос, который будет делать выборку заказо…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Для решения этой задачи используем кастомный макрос, который будет делать выборку заказов со статусом &amp;quot;готов&amp;quot; и подсчитывать количество товаров в них. Для этого в файле /classes/modules/custom.php пишем следующий код после строки //TODO: Write your own macroses here:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function soldItemsTotal(){&lt;br /&gt;
	$orders = new selector(&amp;#039;objects&amp;#039;);&lt;br /&gt;
	$orders-&amp;gt;types(&amp;#039;object-type&amp;#039;)-&amp;gt;name(&amp;#039;emarket&amp;#039;,&amp;#039;order&amp;#039;);&lt;br /&gt;
	$orders-&amp;gt;where(&amp;#039;status_id&amp;#039;)-&amp;gt;equals(&amp;#039;20&amp;#039;);			&lt;br /&gt;
	$itemsTotal = 0;			&lt;br /&gt;
	foreach($orders as $order){				&lt;br /&gt;
		$itemsOrder = $order-&amp;gt;getValue(&amp;#039;total_amount&amp;#039;);				&lt;br /&gt;
		$itemsTotal += $itemsOrder;	&lt;br /&gt;
	}			&lt;br /&gt;
	return $itemsTotal;		&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вызвать этот макрос можно в шаблоне следующим образом: %custom soldItemsTotal()%, выведется общее количество проданных товаров.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4363</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4363"/>
		<updated>2012-12-27T15:04:01Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Декабрь: ==&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;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>Yulia</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%87%D0%B5%D0%BA%D0%B1%D0%BE%D0%BA%D1%81%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=4362</id>
		<title>Использование чекбоксов при фильтрации</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%87%D0%B5%D0%BA%D0%B1%D0%BE%D0%BA%D1%81%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=4362"/>
		<updated>2012-12-27T14:59:51Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбо…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов.&lt;br /&gt;
&lt;br /&gt;
Необходимо добавить следующий код в шаблон /templates/имя_шаблона/xslt/modules/catalog/search-filter.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;cvet&amp;#039;]&amp;quot; mode=&amp;quot;search&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div&amp;gt;&lt;br /&gt;
		&amp;lt;label&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:value-of select=&amp;quot;@title&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;values/item&amp;quot; mode=&amp;quot;searchTest&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;
	&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;values/item&amp;quot; mode=&amp;quot;searchTest&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;span&amp;gt;&lt;br /&gt;
		&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;fields_filter[cvet][]&amp;quot; value=&amp;quot;{@id}&amp;quot;&amp;gt; &lt;br /&gt;
			&amp;lt;xsl:if test=&amp;quot;checked&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:attribute name=&amp;quot;checked&amp;quot;&amp;gt;checked&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;/input&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:value-of select=&amp;quot;.&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/span&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;
В данном примере &amp;#039;cvet&amp;#039; - это идентификатор поля &amp;quot;цвет&amp;quot; для товара. &lt;br /&gt;
Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация.&lt;br /&gt;
&lt;br /&gt;
Данный способ был проверен в версии 2.8.6.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Модуль Каталог]]&lt;/div&gt;</summary>
		<author><name>Yulia</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:Yulia&amp;diff=4361</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4361"/>
		<updated>2012-12-27T14:46:06Z</updated>

		<summary type="html">&lt;p&gt;Yulia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Декабрь: ==&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>Yulia</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:Yulia&amp;diff=4360</id>
		<title>Участник:Yulia</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:Yulia&amp;diff=4360"/>
		<updated>2012-12-25T11:10:33Z</updated>

		<summary type="html">&lt;p&gt;Yulia: Новая страница: «== Декабрь: ==  &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Декабрь: ==&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>Yulia</name></author>
		
	</entry>
</feed>