<?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=Kovach</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=Kovach"/>
	<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/Kovach"/>
	<updated>2026-04-27T14:21:01Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B9_.htaccess&amp;diff=9391</id>
		<title>Стандартный .htaccess</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B9_.htaccess&amp;diff=9391"/>
		<updated>2020-01-21T08:14:05Z</updated>

		<summary type="html">&lt;p&gt;Kovach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 21.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[category:.htaccess]][[Категория:Вопросы установки настройки и переноса]]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_negotiation.c&amp;gt;&lt;br /&gt;
	Options All -Indexes&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
	RewriteEngine On&lt;br /&gt;
&lt;br /&gt;
	RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
	RewriteRule ^(.*)$ index.php?path=$1&amp;amp;%{QUERY_STRING}&amp;amp;umi_authorization=%{HTTP:Authorization} [L]&lt;br /&gt;
&lt;br /&gt;
	RewriteCond %{REQUEST_FILENAME} -f&lt;br /&gt;
	RewriteRule ^(developerTools|errors|libs|smt|cache|xmldb|static|packages)\/.*$ / [L,R] #legacy directories&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_php7.c&amp;gt;&lt;br /&gt;
	php_flag engine off&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
	php_flag engine off&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_access_compat.c&amp;gt;&lt;br /&gt;
	&amp;lt;FilesMatch &amp;quot;(?i)\.(php[2-5]?|cgi|pl|fcgi|fpl|phtm|phtml|shtml|asp|jsp|twig|tpl|xslt?|git|svn|htaccess|htaccess_old|htpasswd|gitignore|gitkeep|ini|log|conf|md|sql|lock|umi\.json)$&amp;quot;&amp;gt;&lt;br /&gt;
		Deny from all&lt;br /&gt;
	&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;FilesMatch &amp;quot;^(?i)(index|install|umi_smt|installer|dummy|smu/installer|autothumbs|captcha|counter|cron|go-out|license_restore|save_domain_keycode|session|static_banner|updater)\.php$&amp;quot;&amp;gt;&lt;br /&gt;
		Allow from all&lt;br /&gt;
	&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;FilesMatch &amp;quot;^(?i)(index|install|umi_smt|installer|dummy|smu/installer)\.php$&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;IfModule mod_php7.c&amp;gt;&lt;br /&gt;
			php_flag engine on&lt;br /&gt;
		&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
			php_flag engine on&lt;br /&gt;
		&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
	&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_authz_core.c&amp;gt;&lt;br /&gt;
    &amp;lt;IfModule !mod_access_compat.c&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;(?i)\.(php[2-5]?|cgi|pl|fcgi|fpl|phtm|phtml|shtml|asp|jsp|twig|tpl|xslt?|git|svn|htaccess|htaccess_old|htpasswd|gitignore|gitkeep|ini|log|conf|md|sql|lock|umi\.json)$&amp;quot;&amp;gt;&lt;br /&gt;
			Deny from all&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;^(?i)(index|install|umi_smt|installer|dummy|smu/installer|autothumbs|captcha|counter|cron|go-out|license_restore|save_domain_keycode|session|static_banner|updater)\.php$&amp;quot;&amp;gt;&lt;br /&gt;
			Allow from all&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;^(?i)(index|install|umi_smt|installer|dummy|smu/installer)\.php$&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;IfModule mod_php7.c&amp;gt;&lt;br /&gt;
				php_flag engine on&lt;br /&gt;
			&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
				php_flag engine on&lt;br /&gt;
			&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule !mod_authz_core.c&amp;gt;&lt;br /&gt;
	&amp;lt;IfModule !mod_access_compat.c&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;(?i)\.(php[2-5]?|cgi|pl|fcgi|fpl|phtm|phtml|shtml|asp|jsp|twig|tpl|xslt?|git|svn|htaccess|htaccess_old|htpasswd|gitignore|gitkeep|ini|log|conf|md|sql|lock|umi\.json)$&amp;quot;&amp;gt;&lt;br /&gt;
			Deny from all&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;^(?i)(index|install|umi_smt|installer|dummy|smu/installer|autothumbs|captcha|counter|cron|go-out|license_restore|save_domain_keycode|session|static_banner|updater)\.php$&amp;quot;&amp;gt;&lt;br /&gt;
			Allow from all&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;^(?i)(index|install|umi_smt|installer|dummy|smu/installer)\.php$&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;IfModule mod_php7.c&amp;gt;&lt;br /&gt;
				php_flag engine on&lt;br /&gt;
			&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
				php_flag engine on&lt;br /&gt;
			&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
	&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kovach</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9335</id>
		<title>Заявка на товар вместо его оформления через корзину</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9335"/>
		<updated>2019-09-30T14:15:01Z</updated>

		<summary type="html">&lt;p&gt;Kovach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&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;#039;&amp;#039;&amp;#039;Пример для php шаблонизатора, шаблон Demomarket&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 20 88158&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В каждом шаге укажем адрес файла в шаблоне и изменение, которое нужно внести: &lt;br /&gt;
&lt;br /&gt;
1. Файл: /templates/demomarket/php/library/DemomarketPhpExtension.php - Закомментировать содержание функции getBuyOneClickButtonClass (внутри фигурных скобок, перед текстом, поставить &amp;quot;//&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
2. Файл: /templates/demomarket/php/i18n/i18n.ru.php - Добавить константу &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;Заказать&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Файл: /templates/demomarket/php/catalog/product/preview/more.phtml - Заменяем строку 35 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Файл: templates/demomarket/php/catalog/product/main/price/buy.phtml - Заменяем строку 53 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат: У каждого товара есть кнопка &amp;quot;Заказать&amp;quot;, нажатие на которую открывает форму заказа товара.&lt;br /&gt;
Кнопка активна независимо от количества товара на складе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример для xslt шаблонизатора&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Если цена товара равна нулю, то мы скрываем её отображение в каталоге и в карточке товара, а кнопку &amp;quot;Добавить в корзину&amp;quot; заменяем на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
В первую очередь нам необходимо перейти в модуль &amp;quot;Обратная связь&amp;quot; и создать форму со всеми необходимыми полями. Также запоминаем ID формы, он нам пригодится в дальнейшем. Перейдем в модуль &amp;quot;Шаблоны данных&amp;quot; и в разделе &amp;quot;Форма обратной связи&amp;quot; найдем нашу форму. В ней необходимо добавить скрытое поле, в которое мы будем передавать адрес страницы, с которой была отправлена заявка.&lt;br /&gt;
Допустим, мы создадим поле &amp;quot;Адрес страницы&amp;quot; с типом &amp;quot;Строка&amp;quot; и идентификатором &amp;quot;url_page&amp;quot;.&lt;br /&gt;
Далее спрячем цену товара, если она равна нулю и заменим кнопку на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для этого в файле /templates/demodizzy/xslt/modules/catalog/object-view.xsl, необходимо внести следующие изменения:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt; - здесь мы объявляем переменную, в которую будет попадать значение после отправки почты и обратного редиректа на страницу.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt; - здесь мы проверяем, если в переменное значение YES, то при помощи AJAX за 1 секунду показываем сообщение об успешной отправки почты и через 3 секунды убираем сообщение.&lt;br /&gt;
# &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt; - сюда мы помещаем текущее значение цены товара.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - если цена не равна нулю, то показываем, иначе - прячем.&lt;br /&gt;
# &amp;lt;xsl:choose&amp;gt;&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - тоже самое и с кнопкой, в случае нулевой цены прячем кнопку &amp;quot;Добавить в корзину&amp;quot; и показываем &amp;quot;Оставить заявку&amp;quot;. &lt;br /&gt;
# Здесь мы используем обертку в div: &amp;amp;lt;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;amp;gt;. Это необходимо для того, чтобы в дальнейшем подключить JQUERY-скрипт, который покажет все содержимое дива в модальном окне. &lt;br /&gt;
# Здесь же, в диве, мы вызываем нашу веб-форму (&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;) с передачей параметра pageredirect, содержащим ID текущей страницы. Это необходимо, чтобы узнать на какой адрес совершать обратный редирект. Обратите внимание, что при вызове формы, мы указываем ID созданной ранее формы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;object-view&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
       &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;					&lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot; itemprop=&amp;quot;offers&amp;quot; itemscope=&amp;quot;itemscope&amp;quot; itemtype=&amp;quot;http://schema.org/Offer&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{page/@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot; itemprop=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;link itemprop=&amp;quot;itemCondition&amp;quot; href=&amp;quot;http://schema.org/NewCondition&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;.//property[@name = &amp;#039;&amp;amp;property-description;&amp;#039;]&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;form id=&amp;quot;add_basket_{page/@id}&amp;quot; class=&amp;quot;options&amp;quot; action=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{page/@id}/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;.//group[@name = &amp;#039;catalog_option_props&amp;#039;]&amp;quot; mode=&amp;quot;table_options&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;button big&amp;quot; id=&amp;quot;add_basket_{$document-page-id}&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:attribute name=&amp;quot;value&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:if test=&amp;quot;$cart_items/item[page/@id = $document-page-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 = $document-page-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;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/input&amp;gt;&lt;br /&gt;
			&amp;lt;/form&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
							&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button big&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class=&amp;quot;social&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/common.xsl вносим следующие правки:&lt;br /&gt;
# Правки аналогичны предыдущему варианту, с той лишь разницей, что относятся они к тому случаю, когда товар отображается в общей категории с другими товарами.&lt;br /&gt;
# Внимание! Расположение переменной &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt; важно. Если Вы расположите переменную выше других, то в категории будет отображаться только 1 товар.&lt;br /&gt;
# В качестве значения параметра для переадресации был указан ID главной страницы: &amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;. Если указать @id, то переадресация будет идти на карточку товара.&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|item&amp;quot; mode=&amp;quot;short-view&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;from_recent&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;cart_items&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;object&amp;quot; select=&amp;quot;document(concat(&amp;#039;upage://&amp;#039;, @id))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;is_options&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;$object/page/properties&amp;quot; mode=&amp;quot;is_options&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;$object//group[@name = &amp;#039;&amp;amp;group-parameter;&amp;#039;]&amp;quot; mode=&amp;quot;div&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
				&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot; class=&amp;quot;button basket_list options_{$is_options}&amp;quot; &lt;br /&gt;
                                 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;
				&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;/div&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
	      &lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			 &amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&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;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/special-offers.xsl вносим следующие правки:&lt;br /&gt;
# Здесь мы получаем редирект и показываем сообщение об успешной отправке пользователю.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;special-offers&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	  &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
	    &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
	  &amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
	  $(document).ready(function() {&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
	  });&lt;br /&gt;
	  &amp;lt;/script&amp;gt;					&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;catalog {$catalog}&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/webforms/add.xsl вносим следующие правки:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит переданный ID страницы.&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит адрес текущей страницы.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt; - в качестве GET-параметра добавляем к редиректу свойство pageredirect со значением ID страницы, с которой была отправлена форма.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt; - передаем в созданное в самом начале статьи скрытое поле адрес текущей страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;udata[@module = &amp;#039;webforms&amp;#039;][@method = &amp;#039;add&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;system_form_id&amp;quot; value=&amp;quot;{/udata/@form_id}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;form_element&amp;quot;&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как сообщение об успешной отправке является системной страницей, а все системные страницы отображаются по шаблону назначенному по умолчанию, то для перехвата осуществления редиректа нам необходимо отредактировать файл:&lt;br /&gt;
/templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - сюда мы примем GET-параметр с ID страницы.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt; - если переменная не пуста, то совершаем редирект при помощи кастомного макроса с передачей ему ID страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&lt;br /&gt;
	xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates select=&amp;quot;result&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;document(concat(&amp;#039;udata://content/myredirect/&amp;#039;,$pageredirect))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь напишем кастомный макрос. Расположим макрос в папке с шаблонами. Для этого, в папке /templates/demodizzy/ создайте папку /classes/, а в ней папку /modules/, а в ней папку /content/, а в ней файл class.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 content_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function myredirect($id){&lt;br /&gt;
    $hierarchy = umiHierarchy::getInstance(); &lt;br /&gt;
	$path = $hierarchy-&amp;gt;getPathById($id);&lt;br /&gt;
	$path .= &amp;#039;?redirectresult=yes&amp;#039;;&lt;br /&gt;
    $this-&amp;gt;redirect($path);&lt;br /&gt;
      }  &lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Всё что делает данный макрос, так это: получает ID страницы, через API узнает путь до страницы, прикрепляет к пути GET параметр об успешности редиректа и собственно производит редирект по полученному пути.&lt;br /&gt;
Чтобы макрос был доступен всем пользователям, создайте здесь файл permissions.php со следующим содержанием:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$permissions = Array(&amp;#039;content&amp;#039; =&amp;gt; Array(&amp;#039;myredirect&amp;#039;));&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Нам осталось спрятать формы и отобразить их при нажатии кнопки в модальном окне. Для этого будем использовать плагин к JQUERY: reveal-modal.&lt;br /&gt;
# Скачайте архив с плагином на официальном сайте: [http://zurb.com/playground/reveal-modal-plugin] или с нашего сайта [[Файл:Reveal.zip]]&lt;br /&gt;
# Достаньте из архива 2 файла: reveal.css и jquery.reveal.js. Разместите данные файлы в общей папке с шаблоном /templates/demodizzy/, в папках /css/ и /js/ соответственно.&lt;br /&gt;
# Подключите файлы в шаблоне /templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/__common.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/jquery.reveal.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/common.css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/reveal.css&amp;quot; /&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Файл:Push1.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push3.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Если Вы хотите видеть в административном разделе, в модуле &amp;quot;События&amp;quot; отдельный блок, где будут показаны последние заявки на товар, тогда создайте в папке /templates/demodizzy/classes/modules/ папку /events/ и создайте в ней два файла class.php и events.php следующего содержания:&lt;br /&gt;
# Здесь: if ($formId == &amp;#039;126&amp;#039;) { укажите ID вашей формы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 class events_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function onWebformsPostZakaz(iUmiEventPoint $event) {&lt;br /&gt;
&lt;br /&gt;
		if ($event-&amp;gt;getMode() == &amp;quot;after&amp;quot;) {&lt;br /&gt;
			$formId = $event-&amp;gt;getParam(&amp;quot;form_id&amp;quot;);&lt;br /&gt;
			if ($formId == &amp;#039;126&amp;#039;) {&lt;br /&gt;
			$messageId = $event-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
			if (!$formId || !$messageId) return false;&lt;br /&gt;
&lt;br /&gt;
			$form = umiObjectTypesCollection::getInstance()-&amp;gt;getType($formId);&lt;br /&gt;
			$module = cmsController::getInstance()-&amp;gt;getModule(&amp;#039;webforms&amp;#039;);&lt;br /&gt;
			$formLinks = $module-&amp;gt;getObjectTypeEditLink($formId);&lt;br /&gt;
			$messageLink = $module-&amp;gt;getObjectEditLink($messageId, &amp;#039;message&amp;#039;);&lt;br /&gt;
			if (isset($formLinks[&amp;#039;edit-link&amp;#039;]) &amp;amp;&amp;amp; $messageLink) {&lt;br /&gt;
				$this-&amp;gt;registerEvent(&amp;#039;webforms-message-add-zakaz&amp;#039;, array($messageLink, $formLinks[&amp;#039;edit-link&amp;#039;], $form-&amp;gt;getName()), null, $messageId);&lt;br /&gt;
			}&lt;br /&gt;
			}&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;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
		new umiEventListener(&amp;quot;webforms_post&amp;quot;, &amp;quot;events&amp;quot;, &amp;quot;onWebformsPostZakaz&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /classes/modules/events/i18n.php добавьте записи: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  	&amp;quot;webforms-message-add-zakaz&amp;quot;	 =&amp;gt; &amp;#039;Новые заявки&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_new&amp;quot; =&amp;gt; &amp;#039;Новые заявки на товар&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_msg&amp;quot; =&amp;gt; &amp;#039;Пользователь &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/a&amp;gt; оставил новую &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;заявку на товар&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_img&amp;quot; =&amp;gt; &amp;#039;/images/cms/admin/mac/icons/medium/zakaz.png&amp;#039;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
По адресу /images/cms/admin/mac/icons/medium/zakaz.png разместите свою иконку размером 59*64px.&lt;br /&gt;
В результате, после оставления заявок, в административной панели Вы увидите блок:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push4.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Модуль Каталог]][[Категория:Модуль Обратная связь]][[Категория:Модуль События]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Kovach</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9334</id>
		<title>Заявка на товар вместо его оформления через корзину</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9334"/>
		<updated>2019-09-30T14:14:34Z</updated>

		<summary type="html">&lt;p&gt;Kovach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&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;#039;&amp;#039;&amp;#039;Пример для php шаблонизатора, шаблон Demomarket&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 20 88158&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В каждом шаге укажем адрес файла в шаблоне и изменение, которое нужно внести: &lt;br /&gt;
&lt;br /&gt;
1. Файл: /templates/demomarket/php/library/DemomarketPhpExtension.php - Закомментировать содержание функции getBuyOneClickButtonClass (внутри фигурных скобок, перед текстом, поставить &amp;quot;//&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
2. Файл: /templates/demomarket/php/i18n/i18n.ru.php - Добавить константу &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;Заказать&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Файл: /templates/demomarket/php/catalog/product/preview/more.phtml - Заменяем строку 35 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Файл: templates/demomarket/php/catalog/product/main/price/buy.phtml - Заменяем строку 53 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат: У каждого товара есть кнопка &amp;quot;Заказать&amp;quot;, нажатие на которую открывает форму заказа товара.&lt;br /&gt;
Кнопка активна независимо от количества товара на складе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример для xslt шаблонизатора&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Если цена товара равна нулю, то мы скрываем её отображение в каталоге и в карточке товара, а кнопку &amp;quot;Добавить в корзину&amp;quot; заменяем на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
В первую очередь нам необходимо перейти в модуль &amp;quot;Обратная связь&amp;quot; и создать форму со всеми необходимыми полями. Также запоминаем ID формы, он нам пригодится в дальнейшем. Перейдем в модуль &amp;quot;Шаблоны данных&amp;quot; и в разделе &amp;quot;Форма обратной связи&amp;quot; найдем нашу форму. В ней необходимо добавить скрытое поле, в которое мы будем передавать адрес страницы, с которой была отправлена заявка.&lt;br /&gt;
Допустим, мы создадим поле &amp;quot;Адрес страницы&amp;quot; с типом &amp;quot;Строка&amp;quot; и идентификатором &amp;quot;url_page&amp;quot;.&lt;br /&gt;
Далее спрячем цену товара, если она равна нулю и заменим кнопку на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для этого в файле /templates/demodizzy/xslt/modules/catalog/object-view.xsl, необходимо внести следующие изменения:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt; - здесь мы объявляем переменную, в которую будет попадать значение после отправки почты и обратного редиректа на страницу.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt; - здесь мы проверяем, если в переменное значение YES, то при помощи AJAX за 1 секунду показываем сообщение об успешной отправки почты и через 3 секунды убираем сообщение.&lt;br /&gt;
# &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt; - сюда мы помещаем текущее значение цены товара.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - если цена не равна нулю, то показываем, иначе - прячем.&lt;br /&gt;
# &amp;lt;xsl:choose&amp;gt;&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - тоже самое и с кнопкой, в случае нулевой цены прячем кнопку &amp;quot;Добавить в корзину&amp;quot; и показываем &amp;quot;Оставить заявку&amp;quot;. &lt;br /&gt;
# Здесь мы используем обертку в div: &amp;amp;lt;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;amp;gt;. Это необходимо для того, чтобы в дальнейшем подключить JQUERY-скрипт, который покажет все содержимое дива в модальном окне. &lt;br /&gt;
# Здесь же, в диве, мы вызываем нашу веб-форму (&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;) с передачей параметра pageredirect, содержащим ID текущей страницы. Это необходимо, чтобы узнать на какой адрес совершать обратный редирект. Обратите внимание, что при вызове формы, мы указываем ID созданной ранее формы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;object-view&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
       &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;					&lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot; itemprop=&amp;quot;offers&amp;quot; itemscope=&amp;quot;itemscope&amp;quot; itemtype=&amp;quot;http://schema.org/Offer&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{page/@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot; itemprop=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;link itemprop=&amp;quot;itemCondition&amp;quot; href=&amp;quot;http://schema.org/NewCondition&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;.//property[@name = &amp;#039;&amp;amp;property-description;&amp;#039;]&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;form id=&amp;quot;add_basket_{page/@id}&amp;quot; class=&amp;quot;options&amp;quot; action=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{page/@id}/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;.//group[@name = &amp;#039;catalog_option_props&amp;#039;]&amp;quot; mode=&amp;quot;table_options&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;button big&amp;quot; id=&amp;quot;add_basket_{$document-page-id}&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:attribute name=&amp;quot;value&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:if test=&amp;quot;$cart_items/item[page/@id = $document-page-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 = $document-page-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;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/input&amp;gt;&lt;br /&gt;
			&amp;lt;/form&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
							&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button big&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class=&amp;quot;social&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/common.xsl вносим следующие правки:&lt;br /&gt;
# Правки аналогичны предыдущему варианту, с той лишь разницей, что относятся они к тому случаю, когда товар отображается в общей категории с другими товарами.&lt;br /&gt;
# Внимание! Расположение переменной &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt; важно. Если Вы расположите переменную выше других, то в категории будет отображаться только 1 товар.&lt;br /&gt;
# В качестве значения параметра для переадресации был указан ID главной страницы: &amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;. Если указать @id, то переадресация будет идти на карточку товара.&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|item&amp;quot; mode=&amp;quot;short-view&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;from_recent&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;cart_items&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;object&amp;quot; select=&amp;quot;document(concat(&amp;#039;upage://&amp;#039;, @id))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;is_options&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;$object/page/properties&amp;quot; mode=&amp;quot;is_options&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;$object//group[@name = &amp;#039;&amp;amp;group-parameter;&amp;#039;]&amp;quot; mode=&amp;quot;div&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
				&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot; class=&amp;quot;button basket_list options_{$is_options}&amp;quot; &lt;br /&gt;
                                 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;
				&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;/div&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
	      &lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			 &amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&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;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/special-offers.xsl вносим следующие правки:&lt;br /&gt;
# Здесь мы получаем редирект и показываем сообщение об успешной отправке пользователю.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;special-offers&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	  &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
	    &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
	  &amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
	  $(document).ready(function() {&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
	  });&lt;br /&gt;
	  &amp;lt;/script&amp;gt;					&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;catalog {$catalog}&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/webforms/add.xsl вносим следующие правки:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит переданный ID страницы.&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит адрес текущей страницы.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt; - в качестве GET-параметра добавляем к редиректу свойство pageredirect со значением ID страницы, с которой была отправлена форма.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt; - передаем в созданное в самом начале статьи скрытое поле адрес текущей страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;udata[@module = &amp;#039;webforms&amp;#039;][@method = &amp;#039;add&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;system_form_id&amp;quot; value=&amp;quot;{/udata/@form_id}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;form_element&amp;quot;&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как сообщение об успешной отправке является системной страницей, а все системные страницы отображаются по шаблону назначенному по умолчанию, то для перехвата осуществления редиректа нам необходимо отредактировать файл:&lt;br /&gt;
/templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - сюда мы примем GET-параметр с ID страницы.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt; - если переменная не пуста, то совершаем редирект при помощи кастомного макроса с передачей ему ID страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&lt;br /&gt;
	xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates select=&amp;quot;result&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;document(concat(&amp;#039;udata://content/myredirect/&amp;#039;,$pageredirect))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь напишем кастомный макрос. Расположим макрос в папке с шаблонами. Для этого, в папке /templates/demodizzy/ создайте папку /classes/, а в ней папку /modules/, а в ней папку /content/, а в ней файл class.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 content_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function myredirect($id){&lt;br /&gt;
    $hierarchy = umiHierarchy::getInstance(); &lt;br /&gt;
	$path = $hierarchy-&amp;gt;getPathById($id);&lt;br /&gt;
	$path .= &amp;#039;?redirectresult=yes&amp;#039;;&lt;br /&gt;
    $this-&amp;gt;redirect($path);&lt;br /&gt;
      }  &lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Всё что делает данный макрос, так это: получает ID страницы, через API узнает путь до страницы, прикрепляет к пути GET параметр об успешности редиректа и собственно производит редирект по полученному пути.&lt;br /&gt;
Чтобы макрос был доступен всем пользователям, создайте здесь файл permissions.php со следующим содержанием:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$permissions = Array(&amp;#039;content&amp;#039; =&amp;gt; Array(&amp;#039;myredirect&amp;#039;));&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Нам осталось спрятать формы и отобразить их при нажатии кнопки в модальном окне. Для этого будем использовать плагин к JQUERY: reveal-modal.&lt;br /&gt;
# Скачайте архив с плагином на официальном сайте: [http://zurb.com/playground/reveal-modal-plugin] или с нашего сайта [[Файл:Reveal.zip]]&lt;br /&gt;
# Достаньте из архива 2 файла: reveal.css и jquery.reveal.js. Разместите данные файлы в общей папке с шаблоном /templates/demodizzy/, в папках /css/ и /js/ соответственно.&lt;br /&gt;
# Подключите файлы в шаблоне /templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/__common.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/jquery.reveal.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/common.css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/reveal.css&amp;quot; /&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Файл:Push1.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push3.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Если Вы хотите видеть в административном разделе, в модуле &amp;quot;События&amp;quot; отдельный блок, где будут показаны последние заявки на товар, тогда создайте в папке /templates/demodizzy/classes/modules/ папку /events/ и создайте в ней два файла class.php и events.php следующего содержания:&lt;br /&gt;
# Здесь: if ($formId == &amp;#039;126&amp;#039;) { укажите ID вашей формы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 class events_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function onWebformsPostZakaz(iUmiEventPoint $event) {&lt;br /&gt;
&lt;br /&gt;
		if ($event-&amp;gt;getMode() == &amp;quot;after&amp;quot;) {&lt;br /&gt;
			$formId = $event-&amp;gt;getParam(&amp;quot;form_id&amp;quot;);&lt;br /&gt;
			if ($formId == &amp;#039;126&amp;#039;) {&lt;br /&gt;
			$messageId = $event-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
			if (!$formId || !$messageId) return false;&lt;br /&gt;
&lt;br /&gt;
			$form = umiObjectTypesCollection::getInstance()-&amp;gt;getType($formId);&lt;br /&gt;
			$module = cmsController::getInstance()-&amp;gt;getModule(&amp;#039;webforms&amp;#039;);&lt;br /&gt;
			$formLinks = $module-&amp;gt;getObjectTypeEditLink($formId);&lt;br /&gt;
			$messageLink = $module-&amp;gt;getObjectEditLink($messageId, &amp;#039;message&amp;#039;);&lt;br /&gt;
			if (isset($formLinks[&amp;#039;edit-link&amp;#039;]) &amp;amp;&amp;amp; $messageLink) {&lt;br /&gt;
				$this-&amp;gt;registerEvent(&amp;#039;webforms-message-add-zakaz&amp;#039;, array($messageLink, $formLinks[&amp;#039;edit-link&amp;#039;], $form-&amp;gt;getName()), null, $messageId);&lt;br /&gt;
			}&lt;br /&gt;
			}&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;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
		new umiEventListener(&amp;quot;webforms_post&amp;quot;, &amp;quot;events&amp;quot;, &amp;quot;onWebformsPostZakaz&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /classes/modules/events/i18n.php добавьте записи: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  	&amp;quot;webforms-message-add-zakaz&amp;quot;	 =&amp;gt; &amp;#039;Новые заявки&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_new&amp;quot; =&amp;gt; &amp;#039;Новые заявки на товар&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_msg&amp;quot; =&amp;gt; &amp;#039;Пользователь &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/a&amp;gt; оставил новую &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;заявку на товар&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_img&amp;quot; =&amp;gt; &amp;#039;/images/cms/admin/mac/icons/medium/zakaz.png&amp;#039;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
По адресу /images/cms/admin/mac/icons/medium/zakaz.png разместите свою иконку размером 59*64px.&lt;br /&gt;
В результате, после оставления заявок, в административной панели Вы увидите блок:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push4.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Модуль Каталог]][[Категория:Модуль Обратная связь]][[Категория:Модуль События]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Kovach</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9333</id>
		<title>Заявка на товар вместо его оформления через корзину</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9333"/>
		<updated>2019-09-30T14:09:12Z</updated>

		<summary type="html">&lt;p&gt;Kovach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример для php шаблонизатора, шаблон Demomarket&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 20 88158&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В каждом шаге укажем адрес файла в шаблоне и изменение, которое нужно внести: &lt;br /&gt;
&lt;br /&gt;
1. Файл: /templates/demomarket/php/library/DemomarketPhpExtension.php - Закомментировать содержание функции getBuyOneClickButtonClass (внутри фигурных скобок, перед текстом, поставить &amp;quot;//&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
2. Файл: /templates/demomarket/php/i18n/i18n.ru.php - Добавить константу &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;Заказать&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Файл: /templates/demomarket/php/catalog/product/preview/more.phtml - Заменяем строку 35 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Файл: templates/demomarket/php/catalog/product/main/price/buy.phtml - Заменяем строку 53 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат: У каждого товара есть кнопка &amp;quot;Заказать&amp;quot;, нажатие на которую открывает форму заказа товара.&lt;br /&gt;
Кнопка активна независимо от количества товара на складе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример для xslt шаблонизатора&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Если цена товара равна нулю, то мы скрываем её отображение в каталоге и в карточке товара, а кнопку &amp;quot;Добавить в корзину&amp;quot; заменяем на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
В первую очередь нам необходимо перейти в модуль &amp;quot;Обратная связь&amp;quot; и создать форму со всеми необходимыми полями. Также запоминаем ID формы, он нам пригодится в дальнейшем. Перейдем в модуль &amp;quot;Шаблоны данных&amp;quot; и в разделе &amp;quot;Форма обратной связи&amp;quot; найдем нашу форму. В ней необходимо добавить скрытое поле, в которое мы будем передавать адрес страницы, с которой была отправлена заявка.&lt;br /&gt;
Допустим, мы создадим поле &amp;quot;Адрес страницы&amp;quot; с типом &amp;quot;Строка&amp;quot; и идентификатором &amp;quot;url_page&amp;quot;.&lt;br /&gt;
Далее спрячем цену товара, если она равна нулю и заменим кнопку на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для этого в файле /templates/demodizzy/xslt/modules/catalog/object-view.xsl, необходимо внести следующие изменения:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt; - здесь мы объявляем переменную, в которую будет попадать значение после отправки почты и обратного редиректа на страницу.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt; - здесь мы проверяем, если в переменное значение YES, то при помощи AJAX за 1 секунду показываем сообщение об успешной отправки почты и через 3 секунды убираем сообщение.&lt;br /&gt;
# &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt; - сюда мы помещаем текущее значение цены товара.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - если цена не равна нулю, то показываем, иначе - прячем.&lt;br /&gt;
# &amp;lt;xsl:choose&amp;gt;&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - тоже самое и с кнопкой, в случае нулевой цены прячем кнопку &amp;quot;Добавить в корзину&amp;quot; и показываем &amp;quot;Оставить заявку&amp;quot;. &lt;br /&gt;
# Здесь мы используем обертку в div: &amp;amp;lt;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;amp;gt;. Это необходимо для того, чтобы в дальнейшем подключить JQUERY-скрипт, который покажет все содержимое дива в модальном окне. &lt;br /&gt;
# Здесь же, в диве, мы вызываем нашу веб-форму (&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;) с передачей параметра pageredirect, содержащим ID текущей страницы. Это необходимо, чтобы узнать на какой адрес совершать обратный редирект. Обратите внимание, что при вызове формы, мы указываем ID созданной ранее формы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;object-view&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
       &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;					&lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot; itemprop=&amp;quot;offers&amp;quot; itemscope=&amp;quot;itemscope&amp;quot; itemtype=&amp;quot;http://schema.org/Offer&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{page/@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot; itemprop=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;link itemprop=&amp;quot;itemCondition&amp;quot; href=&amp;quot;http://schema.org/NewCondition&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;.//property[@name = &amp;#039;&amp;amp;property-description;&amp;#039;]&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;form id=&amp;quot;add_basket_{page/@id}&amp;quot; class=&amp;quot;options&amp;quot; action=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{page/@id}/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;.//group[@name = &amp;#039;catalog_option_props&amp;#039;]&amp;quot; mode=&amp;quot;table_options&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;button big&amp;quot; id=&amp;quot;add_basket_{$document-page-id}&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:attribute name=&amp;quot;value&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:if test=&amp;quot;$cart_items/item[page/@id = $document-page-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 = $document-page-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;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/input&amp;gt;&lt;br /&gt;
			&amp;lt;/form&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
							&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button big&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class=&amp;quot;social&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/common.xsl вносим следующие правки:&lt;br /&gt;
# Правки аналогичны предыдущему варианту, с той лишь разницей, что относятся они к тому случаю, когда товар отображается в общей категории с другими товарами.&lt;br /&gt;
# Внимание! Расположение переменной &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt; важно. Если Вы расположите переменную выше других, то в категории будет отображаться только 1 товар.&lt;br /&gt;
# В качестве значения параметра для переадресации был указан ID главной страницы: &amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;. Если указать @id, то переадресация будет идти на карточку товара.&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|item&amp;quot; mode=&amp;quot;short-view&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;from_recent&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;cart_items&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;object&amp;quot; select=&amp;quot;document(concat(&amp;#039;upage://&amp;#039;, @id))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;is_options&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;$object/page/properties&amp;quot; mode=&amp;quot;is_options&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;$object//group[@name = &amp;#039;&amp;amp;group-parameter;&amp;#039;]&amp;quot; mode=&amp;quot;div&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
				&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot; class=&amp;quot;button basket_list options_{$is_options}&amp;quot; &lt;br /&gt;
                                 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;
				&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;/div&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
	      &lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			 &amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&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;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/special-offers.xsl вносим следующие правки:&lt;br /&gt;
# Здесь мы получаем редирект и показываем сообщение об успешной отправке пользователю.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;special-offers&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	  &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
	    &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
	  &amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
	  $(document).ready(function() {&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
	  });&lt;br /&gt;
	  &amp;lt;/script&amp;gt;					&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;catalog {$catalog}&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/webforms/add.xsl вносим следующие правки:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит переданный ID страницы.&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит адрес текущей страницы.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt; - в качестве GET-параметра добавляем к редиректу свойство pageredirect со значением ID страницы, с которой была отправлена форма.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt; - передаем в созданное в самом начале статьи скрытое поле адрес текущей страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;udata[@module = &amp;#039;webforms&amp;#039;][@method = &amp;#039;add&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;system_form_id&amp;quot; value=&amp;quot;{/udata/@form_id}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;form_element&amp;quot;&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как сообщение об успешной отправке является системной страницей, а все системные страницы отображаются по шаблону назначенному по умолчанию, то для перехвата осуществления редиректа нам необходимо отредактировать файл:&lt;br /&gt;
/templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - сюда мы примем GET-параметр с ID страницы.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt; - если переменная не пуста, то совершаем редирект при помощи кастомного макроса с передачей ему ID страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&lt;br /&gt;
	xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates select=&amp;quot;result&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;document(concat(&amp;#039;udata://content/myredirect/&amp;#039;,$pageredirect))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь напишем кастомный макрос. Расположим макрос в папке с шаблонами. Для этого, в папке /templates/demodizzy/ создайте папку /classes/, а в ней папку /modules/, а в ней папку /content/, а в ней файл class.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 content_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function myredirect($id){&lt;br /&gt;
    $hierarchy = umiHierarchy::getInstance(); &lt;br /&gt;
	$path = $hierarchy-&amp;gt;getPathById($id);&lt;br /&gt;
	$path .= &amp;#039;?redirectresult=yes&amp;#039;;&lt;br /&gt;
    $this-&amp;gt;redirect($path);&lt;br /&gt;
      }  &lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Всё что делает данный макрос, так это: получает ID страницы, через API узнает путь до страницы, прикрепляет к пути GET параметр об успешности редиректа и собственно производит редирект по полученному пути.&lt;br /&gt;
Чтобы макрос был доступен всем пользователям, создайте здесь файл permissions.php со следующим содержанием:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$permissions = Array(&amp;#039;content&amp;#039; =&amp;gt; Array(&amp;#039;myredirect&amp;#039;));&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Нам осталось спрятать формы и отобразить их при нажатии кнопки в модальном окне. Для этого будем использовать плагин к JQUERY: reveal-modal.&lt;br /&gt;
# Скачайте архив с плагином на официальном сайте: [http://zurb.com/playground/reveal-modal-plugin] или с нашего сайта [[Файл:Reveal.zip]]&lt;br /&gt;
# Достаньте из архива 2 файла: reveal.css и jquery.reveal.js. Разместите данные файлы в общей папке с шаблоном /templates/demodizzy/, в папках /css/ и /js/ соответственно.&lt;br /&gt;
# Подключите файлы в шаблоне /templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/__common.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/jquery.reveal.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/common.css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/reveal.css&amp;quot; /&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Файл:Push1.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push3.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Если Вы хотите видеть в административном разделе, в модуле &amp;quot;События&amp;quot; отдельный блок, где будут показаны последние заявки на товар, тогда создайте в папке /templates/demodizzy/classes/modules/ папку /events/ и создайте в ней два файла class.php и events.php следующего содержания:&lt;br /&gt;
# Здесь: if ($formId == &amp;#039;126&amp;#039;) { укажите ID вашей формы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 class events_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function onWebformsPostZakaz(iUmiEventPoint $event) {&lt;br /&gt;
&lt;br /&gt;
		if ($event-&amp;gt;getMode() == &amp;quot;after&amp;quot;) {&lt;br /&gt;
			$formId = $event-&amp;gt;getParam(&amp;quot;form_id&amp;quot;);&lt;br /&gt;
			if ($formId == &amp;#039;126&amp;#039;) {&lt;br /&gt;
			$messageId = $event-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
			if (!$formId || !$messageId) return false;&lt;br /&gt;
&lt;br /&gt;
			$form = umiObjectTypesCollection::getInstance()-&amp;gt;getType($formId);&lt;br /&gt;
			$module = cmsController::getInstance()-&amp;gt;getModule(&amp;#039;webforms&amp;#039;);&lt;br /&gt;
			$formLinks = $module-&amp;gt;getObjectTypeEditLink($formId);&lt;br /&gt;
			$messageLink = $module-&amp;gt;getObjectEditLink($messageId, &amp;#039;message&amp;#039;);&lt;br /&gt;
			if (isset($formLinks[&amp;#039;edit-link&amp;#039;]) &amp;amp;&amp;amp; $messageLink) {&lt;br /&gt;
				$this-&amp;gt;registerEvent(&amp;#039;webforms-message-add-zakaz&amp;#039;, array($messageLink, $formLinks[&amp;#039;edit-link&amp;#039;], $form-&amp;gt;getName()), null, $messageId);&lt;br /&gt;
			}&lt;br /&gt;
			}&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;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
		new umiEventListener(&amp;quot;webforms_post&amp;quot;, &amp;quot;events&amp;quot;, &amp;quot;onWebformsPostZakaz&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /classes/modules/events/i18n.php добавьте записи: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  	&amp;quot;webforms-message-add-zakaz&amp;quot;	 =&amp;gt; &amp;#039;Новые заявки&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_new&amp;quot; =&amp;gt; &amp;#039;Новые заявки на товар&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_msg&amp;quot; =&amp;gt; &amp;#039;Пользователь &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/a&amp;gt; оставил новую &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;заявку на товар&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_img&amp;quot; =&amp;gt; &amp;#039;/images/cms/admin/mac/icons/medium/zakaz.png&amp;#039;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
По адресу /images/cms/admin/mac/icons/medium/zakaz.png разместите свою иконку размером 59*64px.&lt;br /&gt;
В результате, после оставления заявок, в административной панели Вы увидите блок:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push4.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Модуль Каталог]][[Категория:Модуль Обратная связь]][[Категория:Модуль События]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Kovach</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9332</id>
		<title>Заявка на товар вместо его оформления через корзину</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9332"/>
		<updated>2019-09-30T14:08:20Z</updated>

		<summary type="html">&lt;p&gt;Kovach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
&amp;#039;&amp;#039;&amp;#039;Пример для php шаблонизатора, шаблон Demomarket&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 20 88158&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В каждом шаге укажем адрес файла в шаблоне и изменение, которое нужно внести: &lt;br /&gt;
&lt;br /&gt;
1. Файл: /templates/demomarket/php/library/DemomarketPhpExtension.php - Закомментировать содержание функции getBuyOneClickButtonClass (внутри фигурных скобок, перед текстом, поставить &amp;quot;//&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
2. Файл: /templates/demomarket/php/i18n/i18n.ru.php - Добавить константу &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;Заказать&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Файл: /templates/demomarket/php/catalog/product/preview/more.phtml - Заменяем строку 35 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Файл: templates/demomarket/php/catalog/product/main/price/buy.phtml - Заменяем строку 53 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат: У каждого товара есть кнопка &amp;quot;Заказать&amp;quot;, нажатие на которую открывает форму заказа товара.&lt;br /&gt;
Кнопка активна независимо от количества товара на складе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример для xslt шаблонизатора&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Если цена товара равна нулю, то мы скрываем её отображение в каталоге и в карточке товара, а кнопку &amp;quot;Добавить в корзину&amp;quot; заменяем на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
В первую очередь нам необходимо перейти в модуль &amp;quot;Обратная связь&amp;quot; и создать форму со всеми необходимыми полями. Также запоминаем ID формы, он нам пригодится в дальнейшем. Перейдем в модуль &amp;quot;Шаблоны данных&amp;quot; и в разделе &amp;quot;Форма обратной связи&amp;quot; найдем нашу форму. В ней необходимо добавить скрытое поле, в которое мы будем передавать адрес страницы, с которой была отправлена заявка.&lt;br /&gt;
Допустим, мы создадим поле &amp;quot;Адрес страницы&amp;quot; с типом &amp;quot;Строка&amp;quot; и идентификатором &amp;quot;url_page&amp;quot;.&lt;br /&gt;
Далее спрячем цену товара, если она равна нулю и заменим кнопку на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для этого в файле /templates/demodizzy/xslt/modules/catalog/object-view.xsl, необходимо внести следующие изменения:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt; - здесь мы объявляем переменную, в которую будет попадать значение после отправки почты и обратного редиректа на страницу.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt; - здесь мы проверяем, если в переменное значение YES, то при помощи AJAX за 1 секунду показываем сообщение об успешной отправки почты и через 3 секунды убираем сообщение.&lt;br /&gt;
# &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt; - сюда мы помещаем текущее значение цены товара.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - если цена не равна нулю, то показываем, иначе - прячем.&lt;br /&gt;
# &amp;lt;xsl:choose&amp;gt;&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - тоже самое и с кнопкой, в случае нулевой цены прячем кнопку &amp;quot;Добавить в корзину&amp;quot; и показываем &amp;quot;Оставить заявку&amp;quot;. &lt;br /&gt;
# Здесь мы используем обертку в div: &amp;amp;lt;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;amp;gt;. Это необходимо для того, чтобы в дальнейшем подключить JQUERY-скрипт, который покажет все содержимое дива в модальном окне. &lt;br /&gt;
# Здесь же, в диве, мы вызываем нашу веб-форму (&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;) с передачей параметра pageredirect, содержащим ID текущей страницы. Это необходимо, чтобы узнать на какой адрес совершать обратный редирект. Обратите внимание, что при вызове формы, мы указываем ID созданной ранее формы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;object-view&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
       &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;					&lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot; itemprop=&amp;quot;offers&amp;quot; itemscope=&amp;quot;itemscope&amp;quot; itemtype=&amp;quot;http://schema.org/Offer&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{page/@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot; itemprop=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;link itemprop=&amp;quot;itemCondition&amp;quot; href=&amp;quot;http://schema.org/NewCondition&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;.//property[@name = &amp;#039;&amp;amp;property-description;&amp;#039;]&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;form id=&amp;quot;add_basket_{page/@id}&amp;quot; class=&amp;quot;options&amp;quot; action=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{page/@id}/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;.//group[@name = &amp;#039;catalog_option_props&amp;#039;]&amp;quot; mode=&amp;quot;table_options&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;button big&amp;quot; id=&amp;quot;add_basket_{$document-page-id}&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:attribute name=&amp;quot;value&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:if test=&amp;quot;$cart_items/item[page/@id = $document-page-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 = $document-page-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;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/input&amp;gt;&lt;br /&gt;
			&amp;lt;/form&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
							&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button big&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class=&amp;quot;social&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/common.xsl вносим следующие правки:&lt;br /&gt;
# Правки аналогичны предыдущему варианту, с той лишь разницей, что относятся они к тому случаю, когда товар отображается в общей категории с другими товарами.&lt;br /&gt;
# Внимание! Расположение переменной &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt; важно. Если Вы расположите переменную выше других, то в категории будет отображаться только 1 товар.&lt;br /&gt;
# В качестве значения параметра для переадресации был указан ID главной страницы: &amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;. Если указать @id, то переадресация будет идти на карточку товара.&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|item&amp;quot; mode=&amp;quot;short-view&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;from_recent&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;cart_items&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;object&amp;quot; select=&amp;quot;document(concat(&amp;#039;upage://&amp;#039;, @id))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;is_options&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;$object/page/properties&amp;quot; mode=&amp;quot;is_options&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;$object//group[@name = &amp;#039;&amp;amp;group-parameter;&amp;#039;]&amp;quot; mode=&amp;quot;div&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
				&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot; class=&amp;quot;button basket_list options_{$is_options}&amp;quot; &lt;br /&gt;
                                 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;
				&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;/div&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
	      &lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			 &amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&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;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/special-offers.xsl вносим следующие правки:&lt;br /&gt;
# Здесь мы получаем редирект и показываем сообщение об успешной отправке пользователю.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;special-offers&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	  &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
	    &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
	  &amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
	  $(document).ready(function() {&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
	  });&lt;br /&gt;
	  &amp;lt;/script&amp;gt;					&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;catalog {$catalog}&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/webforms/add.xsl вносим следующие правки:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит переданный ID страницы.&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит адрес текущей страницы.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt; - в качестве GET-параметра добавляем к редиректу свойство pageredirect со значением ID страницы, с которой была отправлена форма.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt; - передаем в созданное в самом начале статьи скрытое поле адрес текущей страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;udata[@module = &amp;#039;webforms&amp;#039;][@method = &amp;#039;add&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;system_form_id&amp;quot; value=&amp;quot;{/udata/@form_id}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;form_element&amp;quot;&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как сообщение об успешной отправке является системной страницей, а все системные страницы отображаются по шаблону назначенному по умолчанию, то для перехвата осуществления редиректа нам необходимо отредактировать файл:&lt;br /&gt;
/templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - сюда мы примем GET-параметр с ID страницы.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt; - если переменная не пуста, то совершаем редирект при помощи кастомного макроса с передачей ему ID страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&lt;br /&gt;
	xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates select=&amp;quot;result&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;document(concat(&amp;#039;udata://content/myredirect/&amp;#039;,$pageredirect))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь напишем кастомный макрос. Расположим макрос в папке с шаблонами. Для этого, в папке /templates/demodizzy/ создайте папку /classes/, а в ней папку /modules/, а в ней папку /content/, а в ней файл class.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 content_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function myredirect($id){&lt;br /&gt;
    $hierarchy = umiHierarchy::getInstance(); &lt;br /&gt;
	$path = $hierarchy-&amp;gt;getPathById($id);&lt;br /&gt;
	$path .= &amp;#039;?redirectresult=yes&amp;#039;;&lt;br /&gt;
    $this-&amp;gt;redirect($path);&lt;br /&gt;
      }  &lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Всё что делает данный макрос, так это: получает ID страницы, через API узнает путь до страницы, прикрепляет к пути GET параметр об успешности редиректа и собственно производит редирект по полученному пути.&lt;br /&gt;
Чтобы макрос был доступен всем пользователям, создайте здесь файл permissions.php со следующим содержанием:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$permissions = Array(&amp;#039;content&amp;#039; =&amp;gt; Array(&amp;#039;myredirect&amp;#039;));&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Нам осталось спрятать формы и отобразить их при нажатии кнопки в модальном окне. Для этого будем использовать плагин к JQUERY: reveal-modal.&lt;br /&gt;
# Скачайте архив с плагином на официальном сайте: [http://zurb.com/playground/reveal-modal-plugin] или с нашего сайта [[Файл:Reveal.zip]]&lt;br /&gt;
# Достаньте из архива 2 файла: reveal.css и jquery.reveal.js. Разместите данные файлы в общей папке с шаблоном /templates/demodizzy/, в папках /css/ и /js/ соответственно.&lt;br /&gt;
# Подключите файлы в шаблоне /templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/__common.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/jquery.reveal.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/common.css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/reveal.css&amp;quot; /&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Файл:Push1.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push3.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Если Вы хотите видеть в административном разделе, в модуле &amp;quot;События&amp;quot; отдельный блок, где будут показаны последние заявки на товар, тогда создайте в папке /templates/demodizzy/classes/modules/ папку /events/ и создайте в ней два файла class.php и events.php следующего содержания:&lt;br /&gt;
# Здесь: if ($formId == &amp;#039;126&amp;#039;) { укажите ID вашей формы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 class events_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function onWebformsPostZakaz(iUmiEventPoint $event) {&lt;br /&gt;
&lt;br /&gt;
		if ($event-&amp;gt;getMode() == &amp;quot;after&amp;quot;) {&lt;br /&gt;
			$formId = $event-&amp;gt;getParam(&amp;quot;form_id&amp;quot;);&lt;br /&gt;
			if ($formId == &amp;#039;126&amp;#039;) {&lt;br /&gt;
			$messageId = $event-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
			if (!$formId || !$messageId) return false;&lt;br /&gt;
&lt;br /&gt;
			$form = umiObjectTypesCollection::getInstance()-&amp;gt;getType($formId);&lt;br /&gt;
			$module = cmsController::getInstance()-&amp;gt;getModule(&amp;#039;webforms&amp;#039;);&lt;br /&gt;
			$formLinks = $module-&amp;gt;getObjectTypeEditLink($formId);&lt;br /&gt;
			$messageLink = $module-&amp;gt;getObjectEditLink($messageId, &amp;#039;message&amp;#039;);&lt;br /&gt;
			if (isset($formLinks[&amp;#039;edit-link&amp;#039;]) &amp;amp;&amp;amp; $messageLink) {&lt;br /&gt;
				$this-&amp;gt;registerEvent(&amp;#039;webforms-message-add-zakaz&amp;#039;, array($messageLink, $formLinks[&amp;#039;edit-link&amp;#039;], $form-&amp;gt;getName()), null, $messageId);&lt;br /&gt;
			}&lt;br /&gt;
			}&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;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
		new umiEventListener(&amp;quot;webforms_post&amp;quot;, &amp;quot;events&amp;quot;, &amp;quot;onWebformsPostZakaz&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /classes/modules/events/i18n.php добавьте записи: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  	&amp;quot;webforms-message-add-zakaz&amp;quot;	 =&amp;gt; &amp;#039;Новые заявки&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_new&amp;quot; =&amp;gt; &amp;#039;Новые заявки на товар&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_msg&amp;quot; =&amp;gt; &amp;#039;Пользователь &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/a&amp;gt; оставил новую &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;заявку на товар&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_img&amp;quot; =&amp;gt; &amp;#039;/images/cms/admin/mac/icons/medium/zakaz.png&amp;#039;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
По адресу /images/cms/admin/mac/icons/medium/zakaz.png разместите свою иконку размером 59*64px.&lt;br /&gt;
В результате, после оставления заявок, в административной панели Вы увидите блок:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push4.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Модуль Каталог]][[Категория:Модуль Обратная связь]][[Категория:Модуль События]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Kovach</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9331</id>
		<title>Заявка на товар вместо его оформления через корзину</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%D1%80_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_%D0%B5%D0%B3%D0%BE_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%83&amp;diff=9331"/>
		<updated>2019-09-30T14:04:34Z</updated>

		<summary type="html">&lt;p&gt;Kovach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
&amp;#039;&amp;#039;&amp;#039;Пример для php шаблонизатора, шаблон Demomarket&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 20 88158&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В каждом шаге укажем адрес файла в шаблоне и изменение, которое нужно внести: &lt;br /&gt;
&lt;br /&gt;
1.&lt;br /&gt;
Файл: /templates/demomarket/php/library/DemomarketPhpExtension.php&lt;br /&gt;
Закомментировать содержание функции getBuyOneClickButtonClass (внутри фигурных скобок, перед текстом, поставить &amp;quot;//&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
2. &lt;br /&gt;
Файл: /templates/demomarket/php/i18n/i18n.ru.php&lt;br /&gt;
Добавить константу &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;Заказать&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3.&lt;br /&gt;
Файл: /templates/demomarket/php/catalog/product/preview/more.phtml&lt;br /&gt;
Заменяем строку 35 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4.&lt;br /&gt;
Файл: templates/demomarket/php/catalog/product/main/price/buy.phtml&lt;br /&gt;
Зменяем строку 53 на &amp;lt;?= $this-&amp;gt;translate(&amp;#039;order&amp;#039;) ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат: У каждого товара есть кнопка &amp;quot;Заказать&amp;quot;, нажатие на которую открывает форму заказа товара.&lt;br /&gt;
Кнопка активна независимо от количества товара на складе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример для xslt шаблонизатора&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Актуально для версии 2.9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Если цена товара равна нулю, то мы скрываем её отображение в каталоге и в карточке товара, а кнопку &amp;quot;Добавить в корзину&amp;quot; заменяем на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
В первую очередь нам необходимо перейти в модуль &amp;quot;Обратная связь&amp;quot; и создать форму со всеми необходимыми полями. Также запоминаем ID формы, он нам пригодится в дальнейшем. Перейдем в модуль &amp;quot;Шаблоны данных&amp;quot; и в разделе &amp;quot;Форма обратной связи&amp;quot; найдем нашу форму. В ней необходимо добавить скрытое поле, в которое мы будем передавать адрес страницы, с которой была отправлена заявка.&lt;br /&gt;
Допустим, мы создадим поле &amp;quot;Адрес страницы&amp;quot; с типом &amp;quot;Строка&amp;quot; и идентификатором &amp;quot;url_page&amp;quot;.&lt;br /&gt;
Далее спрячем цену товара, если она равна нулю и заменим кнопку на &amp;quot;оставить заявку&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для этого в файле /templates/demodizzy/xslt/modules/catalog/object-view.xsl, необходимо внести следующие изменения:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt; - здесь мы объявляем переменную, в которую будет попадать значение после отправки почты и обратного редиректа на страницу.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt; - здесь мы проверяем, если в переменное значение YES, то при помощи AJAX за 1 секунду показываем сообщение об успешной отправки почты и через 3 секунды убираем сообщение.&lt;br /&gt;
# &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt; - сюда мы помещаем текущее значение цены товара.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - если цена не равна нулю, то показываем, иначе - прячем.&lt;br /&gt;
# &amp;lt;xsl:choose&amp;gt;&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt; - тоже самое и с кнопкой, в случае нулевой цены прячем кнопку &amp;quot;Добавить в корзину&amp;quot; и показываем &amp;quot;Оставить заявку&amp;quot;. &lt;br /&gt;
# Здесь мы используем обертку в div: &amp;amp;lt;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;amp;gt;. Это необходимо для того, чтобы в дальнейшем подключить JQUERY-скрипт, который покажет все содержимое дива в модальном окне. &lt;br /&gt;
# Здесь же, в диве, мы вызываем нашу веб-форму (&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;) с передачей параметра pageredirect, содержащим ID текущей страницы. Это необходимо, чтобы узнать на какой адрес совершать обратный редирект. Обратите внимание, что при вызове формы, мы указываем ID созданной ранее формы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;object-view&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
       &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;					&lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot; itemprop=&amp;quot;offers&amp;quot; itemscope=&amp;quot;itemscope&amp;quot; itemtype=&amp;quot;http://schema.org/Offer&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{page/@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot; itemprop=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, page/@id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;link itemprop=&amp;quot;itemCondition&amp;quot; href=&amp;quot;http://schema.org/NewCondition&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;.//property[@name = &amp;#039;&amp;amp;property-description;&amp;#039;]&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;form id=&amp;quot;add_basket_{page/@id}&amp;quot; class=&amp;quot;options&amp;quot; action=&amp;quot;{$lang-prefix}/emarket/basket/put/element/{page/@id}/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;.//group[@name = &amp;#039;catalog_option_props&amp;#039;]&amp;quot; mode=&amp;quot;table_options&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;button big&amp;quot; id=&amp;quot;add_basket_{$document-page-id}&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:attribute name=&amp;quot;value&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:if test=&amp;quot;$cart_items/item[page/@id = $document-page-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 = $document-page-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;/xsl:attribute&amp;gt;&lt;br /&gt;
				&amp;lt;/input&amp;gt;&lt;br /&gt;
			&amp;lt;/form&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
							&lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;page/@id&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button big&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
&amp;lt;div class=&amp;quot;social&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/common.xsl вносим следующие правки:&lt;br /&gt;
# Правки аналогичны предыдущему варианту, с той лишь разницей, что относятся они к тому случаю, когда товар отображается в общей категории с другими товарами.&lt;br /&gt;
# Внимание! Расположение переменной &amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt; важно. Если Вы расположите переменную выше других, то в категории будет отображаться только 1 товар.&lt;br /&gt;
# В качестве значения параметра для переадресации был указан ID главной страницы: &amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;. Если указать @id, то переадресация будет идти на карточку товара.&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|item&amp;quot; mode=&amp;quot;short-view&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;from_recent&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;cart_items&amp;quot; select=&amp;quot;false()&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;object&amp;quot; select=&amp;quot;document(concat(&amp;#039;upage://&amp;#039;, @id))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;is_options&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;$object/page/properties&amp;quot; mode=&amp;quot;is_options&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;item_price&amp;quot; select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *   &lt;br /&gt;
&amp;lt;div class=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;span umi:element-id=&amp;quot;{@id}&amp;quot; umi:field-name=&amp;quot;price&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;document(concat(&amp;#039;udata://emarket/price/&amp;#039;, @id))&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;$object//group[@name = &amp;#039;&amp;amp;group-parameter;&amp;#039;]&amp;quot; mode=&amp;quot;div&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:when test=&amp;quot;$item_price != 0&amp;quot; &amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
				&amp;lt;a id=&amp;quot;add_basket_{@id}&amp;quot; class=&amp;quot;button basket_list options_{$is_options}&amp;quot; &lt;br /&gt;
                                 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;
				&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;/div&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;div id=&amp;quot;myModal&amp;quot; class=&amp;quot;reveal-modal&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h1&amp;gt;Оформить заказ&amp;lt;/h1&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Для оформления заказа, заполните следующие поля:&amp;lt;/p&amp;gt;&lt;br /&gt;
	      &lt;br /&gt;
				&amp;lt;xsl:apply-templates select=&amp;quot;document(&amp;#039;udata://webforms/add/126&amp;#039;)/udata&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;xsl:with-param name=&amp;quot;pageredirect&amp;quot; select=&amp;quot;35&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
				&amp;lt;a class=&amp;quot;close-reveal-modal&amp;quot;&amp;gt;&amp;amp;#215;&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			 &amp;lt;div class=&amp;quot;add_from_list&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; data-reveal-id=&amp;quot;myModal&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;Оформить заявку&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;/div&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;div class=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/catalog/special-offers.xsl вносим следующие правки:&lt;br /&gt;
# Здесь мы получаем редирект и показываем сообщение об успешной отправке пользователю.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet	version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;redirectresult&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;udata&amp;quot; mode=&amp;quot;special-offers&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$redirectresult = &amp;#039;yes&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	  &amp;lt;div id=&amp;#039;redirectresult&amp;#039;&amp;gt;&lt;br /&gt;
	    &amp;lt;h1&amp;gt;&amp;lt;img src=&amp;quot;/templates/demodizzy/images/success.png&amp;quot; align=&amp;quot;middle&amp;quot; /&amp;gt;Спасибо! Ваша заявка отправлена.&amp;lt;/h1&amp;gt;&lt;br /&gt;
	  &amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;					&lt;br /&gt;
	  $(document).ready(function() {&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeIn(&amp;#039;fast&amp;#039;);&amp;quot;, 1000);&lt;br /&gt;
	  setTimeout (&amp;quot;$(&amp;#039;#redirectresult&amp;#039;).fadeOut(&amp;#039;slow&amp;#039;);&amp;quot;, 3000);&lt;br /&gt;
	  });&lt;br /&gt;
	  &amp;lt;/script&amp;gt;					&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;catalog {$catalog}&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /templates/demodizzy/xslt/modules/webforms/add.xsl вносим следующие правки:&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит переданный ID страницы.&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt; - объявляем переменную, в которую поступит адрес текущей страницы.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt; - в качестве GET-параметра добавляем к редиректу свойство pageredirect со значением ID страницы, с которой была отправлена форма.&lt;br /&gt;
# &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt; - передаем в созданное в самом начале статьи скрытое поле адрес текущей страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;_request_uri&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;udata[@module = &amp;#039;webforms&amp;#039;][@method = &amp;#039;add&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;system_form_id&amp;quot; value=&amp;quot;{/udata/@form_id}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;ref_onsuccess&amp;quot; value=&amp;quot;{$lang-prefix}/webforms/posted/{/udata/@form_id}/?pageredirect={$pageredirect}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;data[new][url_page]&amp;quot; value=&amp;quot;{$_request_uri}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;form_element&amp;quot;&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как сообщение об успешной отправке является системной страницей, а все системные страницы отображаются по шаблону назначенному по умолчанию, то для перехвата осуществления редиректа нам необходимо отредактировать файл:&lt;br /&gt;
/templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
# &amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt; - сюда мы примем GET-параметр с ID страницы.&lt;br /&gt;
# &amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt; - если переменная не пуста, то совершаем редирект при помощи кастомного макроса с передачей ему ID страницы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
	xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
	xmlns:umi=&amp;quot;http://www.umi-cms.ru/TR/umi&amp;quot;&lt;br /&gt;
	xmlns:xlink=&amp;quot;http://www.w3.org/TR/xlink&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:param name=&amp;quot;pageredirect&amp;quot; /&amp;gt;&lt;br /&gt;
     * * *&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:apply-templates select=&amp;quot;result&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:if test=&amp;quot;$pageredirect != &amp;#039;&amp;#039;&amp;quot; &amp;gt;&lt;br /&gt;
	    &amp;lt;xsl:value-of select=&amp;quot;document(concat(&amp;#039;udata://content/myredirect/&amp;#039;,$pageredirect))/udata&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:if&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    * * *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь напишем кастомный макрос. Расположим макрос в папке с шаблонами. Для этого, в папке /templates/demodizzy/ создайте папку /classes/, а в ней папку /modules/, а в ней папку /content/, а в ней файл class.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 content_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function myredirect($id){&lt;br /&gt;
    $hierarchy = umiHierarchy::getInstance(); &lt;br /&gt;
	$path = $hierarchy-&amp;gt;getPathById($id);&lt;br /&gt;
	$path .= &amp;#039;?redirectresult=yes&amp;#039;;&lt;br /&gt;
    $this-&amp;gt;redirect($path);&lt;br /&gt;
      }  &lt;br /&gt;
};&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Всё что делает данный макрос, так это: получает ID страницы, через API узнает путь до страницы, прикрепляет к пути GET параметр об успешности редиректа и собственно производит редирект по полученному пути.&lt;br /&gt;
Чтобы макрос был доступен всем пользователям, создайте здесь файл permissions.php со следующим содержанием:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$permissions = Array(&amp;#039;content&amp;#039; =&amp;gt; Array(&amp;#039;myredirect&amp;#039;));&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Нам осталось спрятать формы и отобразить их при нажатии кнопки в модальном окне. Для этого будем использовать плагин к JQUERY: reveal-modal.&lt;br /&gt;
# Скачайте архив с плагином на официальном сайте: [http://zurb.com/playground/reveal-modal-plugin] или с нашего сайта [[Файл:Reveal.zip]]&lt;br /&gt;
# Достаньте из архива 2 файла: reveal.css и jquery.reveal.js. Разместите данные файлы в общей папке с шаблоном /templates/demodizzy/, в папках /css/ и /js/ соответственно.&lt;br /&gt;
# Подключите файлы в шаблоне /templates/demodizzy/xslt/layouts/default.xsl&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/__common.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;/templates/demodizzy/js/jquery.reveal.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/common.css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/templates/demodizzy/css/reveal.css&amp;quot; /&amp;gt;&lt;br /&gt;
* * *&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Файл:Push1.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push3.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Если Вы хотите видеть в административном разделе, в модуле &amp;quot;События&amp;quot; отдельный блок, где будут показаны последние заявки на товар, тогда создайте в папке /templates/demodizzy/classes/modules/ папку /events/ и создайте в ней два файла class.php и events.php следующего содержания:&lt;br /&gt;
# Здесь: if ($formId == &amp;#039;126&amp;#039;) { укажите ID вашей формы.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 class events_custom extends def_module {&lt;br /&gt;
&lt;br /&gt;
public function onWebformsPostZakaz(iUmiEventPoint $event) {&lt;br /&gt;
&lt;br /&gt;
		if ($event-&amp;gt;getMode() == &amp;quot;after&amp;quot;) {&lt;br /&gt;
			$formId = $event-&amp;gt;getParam(&amp;quot;form_id&amp;quot;);&lt;br /&gt;
			if ($formId == &amp;#039;126&amp;#039;) {&lt;br /&gt;
			$messageId = $event-&amp;gt;getParam(&amp;quot;message_id&amp;quot;);&lt;br /&gt;
			&lt;br /&gt;
			if (!$formId || !$messageId) return false;&lt;br /&gt;
&lt;br /&gt;
			$form = umiObjectTypesCollection::getInstance()-&amp;gt;getType($formId);&lt;br /&gt;
			$module = cmsController::getInstance()-&amp;gt;getModule(&amp;#039;webforms&amp;#039;);&lt;br /&gt;
			$formLinks = $module-&amp;gt;getObjectTypeEditLink($formId);&lt;br /&gt;
			$messageLink = $module-&amp;gt;getObjectEditLink($messageId, &amp;#039;message&amp;#039;);&lt;br /&gt;
			if (isset($formLinks[&amp;#039;edit-link&amp;#039;]) &amp;amp;&amp;amp; $messageLink) {&lt;br /&gt;
				$this-&amp;gt;registerEvent(&amp;#039;webforms-message-add-zakaz&amp;#039;, array($messageLink, $formLinks[&amp;#039;edit-link&amp;#039;], $form-&amp;gt;getName()), null, $messageId);&lt;br /&gt;
			}&lt;br /&gt;
			}&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;
 &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
		new umiEventListener(&amp;quot;webforms_post&amp;quot;, &amp;quot;events&amp;quot;, &amp;quot;onWebformsPostZakaz&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В файле /classes/modules/events/i18n.php добавьте записи: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  	&amp;quot;webforms-message-add-zakaz&amp;quot;	 =&amp;gt; &amp;#039;Новые заявки&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_new&amp;quot; =&amp;gt; &amp;#039;Новые заявки на товар&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_msg&amp;quot; =&amp;gt; &amp;#039;Пользователь &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/a&amp;gt; оставил новую &amp;lt;a href=&amp;quot;%s&amp;quot;&amp;gt;заявку на товар&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
	&amp;quot;webforms-message-add-zakaz_img&amp;quot; =&amp;gt; &amp;#039;/images/cms/admin/mac/icons/medium/zakaz.png&amp;#039;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
По адресу /images/cms/admin/mac/icons/medium/zakaz.png разместите свою иконку размером 59*64px.&lt;br /&gt;
В результате, после оставления заявок, в административной панели Вы увидите блок:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Файл:Push4.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Категория:Верстка в XSLT]][[Категория:Модуль Каталог]][[Категория:Модуль Обратная связь]][[Категория:Модуль События]][[Категория:Написание кастомных макросов]]&lt;/div&gt;</summary>
		<author><name>Kovach</name></author>
		
	</entry>
</feed>