Нашла интересный пример среди сайтов.
В Umi создана страница с типом данных Страница контента, в ней есть страница Сотрудники, у которой свой созданный тип данных с названием Сотрудники с назначением типа Страница контента. И есть тип данных Сотрудник с тем же назначением, соответственно с этим типом данных созданы страницы с сотрудниками, которые вложены в Сотрудники, т.е. выглядит вот:
-Компания
--Сотрудники
---Сотрудник 1
---Сотрудник 2
---Сотрудник 3
А на сайте это такой список фотографий сотрудников с кратким описанием у каждого после какого-то количества контента.
В папке mudules есть создана папка page, в которой есть страница company.xsl, где вызывается получается запрос.
Пожалуйста, объясните, как работает этот вызов страницы (назовем это так), а 98 - это id Компании. 223 - Сотрудники. 151 - это тип данных Сотрудники, а 150 - Сотрудник.
Я вроде все заполнила по этому примеру(соответственно задала свои id), но запроса не произошла(
<xsl:template match="result/page[@id = '98']" mode="page">
<div class="container-fluid" style="background: white;">
<div class="container">
<div class="block-company">
<div class="company-left">
<div id="myCarousel" class="carousel slide slider">
<!-- Carousel items -->
<div class="carousel-inner">
<xsl:apply-templates select="document('usel://main/253/147')/udata" mode="slider-comp"/>
</div>
</div>
<xsl:value-of select="//property[@name = 'content']/value" disable-output-escaping="yes"/>
</div>
<div class="company-right">
<div class="company-right-wrap">
<xsl:apply-templates select="document(concat('udata://content/menu/notemplate/0/',@id))/udata" mode="company_menu_inner"/>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="container">
<div class="block-company">
<div class="company-people">
<h4>История компании в лицах</h4>
<xsl:apply-templates select="document('usel://main/223/150')/udata" mode="human"/>
</div>
</div>
</div>
</div>
</xsl:template>
<xsl:template match="udata[@method = 'menu']" mode="company_menu_inner">
<xsl:apply-templates select="items/item" mode="company_menu_inner" />
</xsl:template>
<xsl:template match="item" mode="company_menu_inner">
<a href="{@link}">
<xsl:variable name="img" select="document(concat('upage://',@id))//property[@name = 'header_pic']/value"/>
<div class="company-menu-inner" style="background: url({$img}) no-repeat; background-position: center left;"></div>
<p><xsl:value-of select="." /></p>
</a>
</xsl:template>
<xsl:template match="udata" mode="human">
<xsl:apply-templates select="page" mode="human"/>
</xsl:template>
<xsl:template match="page" mode="human">
<div class="human">
<div class="human-wrap"></div>
<div class="human--img">
<xsl:variable name="img" select="extended/properties/property[@name = 'header_pic']/value"/>
<img src="{document(concat('udata://system/makeThumbnailFull/(.',$img,')/221/260/notemplate/0/1/5/0/100'))/udata/src}"/>
</div>
<div class="human--descr">
<h1><xsl:value-of select="name"/></h1>
<p><xsl:value-of select="extended/properties/property[@name = 'h1']/value"/></p>
</div>
</div>
</xsl:template>
<xsl:template match="udata" mode="slider-comp">
<xsl:apply-templates select="page" mode="slider-comp"/>
</xsl:template>
<xsl:template match="page[position() = 1]" mode="slider-comp">
<xsl:variable name="img" select="extended/properties/property[@name = 'header_pic']/value"/>
<div class="item active"><img src="{document(concat('udata://system/makeThumbnailFull/(.',$img,')/950/310/notemplate/0/1/5/0/100'))/udata/src}"/></div>
</xsl:template>
<xsl:template match="page" mode="slider-comp">
<xsl:variable name="img" select="extended/properties/property[@name = 'header_pic']/value"/>
<div class="item"><img src="{document(concat('udata://system/makeThumbnailFull/(.',$img,')/950/310/notemplate/0/1/5/0/100'))/udata/src}"/></div>
</xsl:template>
Вот что у меня в итоге вышло, немного не могу понять, как теперь лучше оформить по отделениям, например одно из отделений Администрация (сейчас просто html вставлен)
<xsl:template match="result[page/@id = '272']">
<div class="specialize">
<h3>Администрация</h3>
</div>
<div class="specialists">
<ul>
<xsl:apply-templates select="document('usel://main/272/148')/udata" mode="human"/>
</ul>
</div>
</xsl:template>
<xsl:template match="udata" mode="human">
<xsl:apply-templates select="page" mode="human"/>
</xsl:template>
<xsl:template match="page" mode="human">
<li class="specialists_item">
<a href="{@link}">
<span class="text">
<xsl:value-of select=".//property[@name = 'header_pic']/value" disable-output-escaping="yes" />
<!--<xsl:variable name="img" select="extended/properties/property[@name = 'header_pic']/value"/>-->
<small><xsl:value-of select="name"/></small>
<p><xsl:value-of select="extended/properties/property[@name = 'h1']/value"/></p>
</span>
</a>
</li>
</xsl:template>
Основная дилемма в фото сотрудника
<xsl:value-of select=".//property[@name = 'header_pic']/value" disable-output-escaping="yes" /> - этот запрос выводит путь картинки в img показывая, что картинка есть
<xsl:variable name="img" select=".//property[@name = 'header_pic']/value"/> - но вроде пишу обращение ,а он выдает пустоту (
С Картинкой разобралась ^^
<img src="{.//property[@name='header_pic']/value}" alt="" />