Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Редактирование шаблона "Счёта"

Автор atachРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 2697
Последний ответ 03 Ноября 2012, 13:41:23
от admin
Вызов макроса из кастомного макроса.

Автор niakrissРаздел Макросы UMI.CMS

Ответов: 4
Просмотров: 3927
Последний ответ 21 Октября 2013, 10:47:10
от niakriss
Условие вывода/не вывода шаблона Комментариев в Блоге

Автор BabajkaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3098
Последний ответ 22 Ноября 2012, 14:32:15
от admin
%news view()% непонятно почему выводится из шаблона default

Автор ArmorРаздел Макросы UMI.CMS

Ответов: 6
Просмотров: 5247
Последний ответ 10 Февраля 2012, 17:09:41
от Armor
Настройка шаблона письма уведомления о заказе (emarket) XSLT

Автор CanektРаздел Настройка системы и модулей

Ответов: 37
Просмотров: 9116
Последний ответ 12 Сентября 2016, 07:57:36
от admin

0 Пользователей и 1 Гость просматривают эту тему.

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Вызов xsl файла как шаблона?
« : 19 Февраля 2016, 14:16:23 »
Нашла интересный пример среди сайтов.

В 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>
« Последнее редактирование: 19 Февраля 2016, 15:08:36 от Sumrakrnd »

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Вызов xsl файла как шаблона?
« Ответ #1 : 23 Февраля 2016, 20:13:46 »
Вот что у меня в итоге вышло, немного не могу понять, как теперь лучше оформить по отделениям, например одно из отделений Администрация (сейчас просто 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"/> - но вроде пишу обращение ,а он выдает пустоту (

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Вызов xsl файла как шаблона?
« Ответ #2 : 25 Февраля 2016, 18:17:58 »
С Картинкой разобралась ^^
<img src="{.//property[@name='header_pic']/value}" alt="" />