Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Как создать избранное средствами tpl + custom?

Автор goodprofyРаздел Custom макросы

Ответов: 3
Просмотров: 1472
Последний ответ 16 Июнь 2013, 02:17:18
от admin
Мультисайтовость. Как создать второй сайт?

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

Ответов: 23
Просмотров: 5078
Последний ответ 15 Март 2016, 14:38:03
от aghigay
Создать глобальный макрос?

Автор muldyРаздел Custom макросы

Ответов: 7
Просмотров: 2024
Последний ответ 23 Июль 2013, 16:34:57
от admin
Как создать поддомен на UMI

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

Ответов: 1
Просмотров: 412
Последний ответ 12 Ноябрь 2015, 12:09:18
от Sumrakrnd
Не найден файл шаблона дизайна для этой страницы

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

Ответов: 5
Просмотров: 953
Последний ответ 05 Январь 2016, 14:09:29
от admin

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

*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Как создать .xsl-файл
« : 26 Сентябрь 2014, 16:14:56 »
Есть такой блок:
<div id="block">
<div id="popup">
<div class="infoblock">
<div class="title">
<span style="margin: 6px 7px 0 0; float: right;">
<a href="javascript:;" onClick="hide()" alt="" title=""><img src="/images/design/close.png" border="0" height="18" width="18" alt="" title="" /></a>
</span>
<h2></h2>
</div>
<div class="body">
<div class="in">
<div style="padding: 12px; background: #ffffff; border: 1px solid #dedede; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px;">
<img style="margin: 1px 10px -30px 0;" src="/images/design/basket-full.png" border="0" height="28" width="28" />
                                       <div style="margin-left: 40px;">
<strong>
<xsl:text></xsl:text><br/>
<xsl:text></xsl:text>
</strong>
</div>
</div>
<div style="text-align: center; margin: -1px 0 -12px 0;">
<img src="/images/design/tail.png" border="0" height="11" width="21" />
</div>
<div style="padding: 12px; margin-bottom: 5px;">
<xsl:text</xsl:text> </div>
</div>
</div>
</div>
</div>
</div>

Вчитываться необязательно. Просьба подсказать, как создать/сделать из этого отдельный .xsl-файл без изменения самого вышеуказанного кода, т.е. вставив его в файл?, где расположить сам файл и каким вызовом разместить в default.xsl (основной шаблон)?
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Как создать .xsl-файл
« Ответ #1 : 27 Сентябрь 2014, 13:55:11 »
если вам нужно просто иметь возможность вставлять данный кусок кода в уже существующие шаблоны, то не обязательно создавать отдельный xsl фалй. Достаточно прописать в любом уже задействованном xsl файле, такой шаблон

<xsl:template name="your_name">
  ... your code
</xsl:template>


и в нужных местах вызывайте его так
<xsl:call-template name="your_name" />

*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re:Как создать .xsl-файл
« Ответ #2 : 27 Сентябрь 2014, 21:32:53 »
Благодарю за оперативный ответ! Вариант хороший, как один из вариантов буду иметь в арсенале. Только мне все-же интересно сделать другой вариант - создание нового .xsl-файла, который я планирую сохранить в директиве /xsltTpls/modules/emarket/filename.xsl, и соответственно вызов этого шаблона из основного (/xsltTpls/layouts/default.xsl). Спасибо!
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Как создать .xsl-файл
« Ответ #3 : 27 Сентябрь 2014, 22:21:01 »
для подключения любого xsl файла используйте xsl:include, обычно основные подключения делаются в /xsltTpls/default.xsl, но вы также можете вставить данную инструкцию в любой уже подключенный файл, как например это сделано в /xsltTpls/modules/content/common.xsl

*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re:Как создать .xsl-файл
« Ответ #4 : 28 Сентябрь 2014, 00:11:36 »
Стимулировать к самостоятельным действиям Вы мастер. И правильно, если Вы знаете и умеете работать с XSLT, и где-то научились к этому, почему бы и меня не подтолкнуть к этому, и почему бы мне не последовать за Вами?!

Вопрос ставлю по-другому:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template name="my_template_name">
        ...my own code/mytemplate...
    </xsl:template>
</xsl:stylesheet>

Например, я создал .xsl (код выше), где ...my own code/mytemplate... мой в самом начале описанный код, чтобы вызвать этот файл/тэплейт, мне надо прописать в default.xsl?:
1. <xsl:call-template name="my_template_name" />
или
2. <xsl:apply-templates select="document('udata://emarket/my_own_xsl_name/')/udata" />

Какой из вариантов верный?
« Последнее редактирование: 28 Сентябрь 2014, 00:26:05 от sam »
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Как создать .xsl-файл
« Ответ #5 : 28 Сентябрь 2014, 04:53:13 »
чтобы подключить набор шаблонов из другого файла, вам необходимо воспользоваться xsl:include (как и сказано выше)

<xsl:include href="...my own code/mytemplate....xsl" />

а после этого, вы сможете использовать шаблоны из этого файла вызвав их через

<xsl:call-template name="my_template_name" />

вызов же вида
<xsl:apply-templates select="document('udata://emarket/my_own_xsl_name/')/udata" />
предполагает, что вы вызываете макрос %emarket my_own_xsl_name()%, так как такого макроса нет в umi (см. документацию с макросами), то этот вызов стоит использовать, только если вы написали свой кастом, что не относится к вашему случаю.


*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re:Как создать .xsl-файл
« Ответ #6 : 28 Сентябрь 2014, 13:44:49 »
Понятно всё. Спасибо!
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.