Системные страницы — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 25: Строка 25:
 
</xsl:template>
 
</xsl:template>
 
</source>
 
</source>
'''4.''' вот пример некоторых системных страниц: <br/>
+
'''3.''' вот пример некоторых системных страниц: <br/>
 
<ul>
 
<ul>
 
<li>../search/search_do/</li>
 
<li>../search/search_do/</li>
Строка 31: Строка 31:
 
<li>../users/settings/</li>
 
<li>../users/settings/</li>
 
<li>../emarket/cart/</li>
 
<li>../emarket/cart/</li>
 +
<li>../users/registrate/</li>
 
</ul>
 
</ul>
 +
 +
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]

Текущая версия на 13:35, 30 апреля 2014

Кроме обычных страниц контента, в системе UMI.CMS присутствуют системные страницы. Работа с ними чуть отличается от работы с обычными.

Есть ряд тонкостей, которые необходимо понимать:
1. в tpl-шаблонезаторе, для системных страниц используется шаблон-дизайна, установленный по умолчанию. Причём в этом шаблоне обязательно должен присутствовать макрос %content%
Подробнее, о том, как определяется содержимое и его оформление можно прочитать в разделе «Вывод страницы в браузер» главы, посвященной TPL-шаблонизатору.
2. в xslt-шаблонезаторе системные страницы сами по себе не возвращают данные о текущем состоянии системы. Для этого необходимо вызвать дополнительный обработчик, для полученого в <result ...></result> метода и модуля.
К примеру:

<result xmlns:xlink="http://www.w3.org/TR/xlink" module="emarket" method="cart" domain="equites7987.demo.umi-cms.ru" lang="ru" header="Корзина товаров" title="UMI.CMS - Корзина товаров" request-uri="/emarket/cart/.xml">
<meta>
<keywords>
umi CMS демо DEMO сайт система управление
</keywords>
<description/>
</meta>
<user id="2373" type="guest"/>
</result>
<!-- This page generated in 0.10675 secs -->

Здесь нет данных о положенных в корзину товаров. Для того что бы получить данные о произведённом заказе необходимо использовать дополнительный вызов udata://emarket/cart

	<xsl:template match="result[@method = 'cart']">
		<xsl:apply-templates select="//steps" />
		<xsl:apply-templates select="document('udata://emarket/cart')/udata" />
	</xsl:template>

3. вот пример некоторых системных страниц:

  • ../search/search_do/
  • ../emarket/compare/
  • ../users/settings/
  • ../emarket/cart/
  • ../users/registrate/