Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Шаблон отображения списка категорий (магазин "Современный")

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

Ответов: 2
Просмотров: 3790
Последний ответ 03 Июля 2012, 15:22:23
от manadsgn
DOCTYPE - если нужен <!DOCTYPE html>

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

Ответов: 1
Просмотров: 2730
Последний ответ 03 Июля 2012, 11:11:43
от manadsgn
Шаблон для вывода новостей с 3 разными блоками

Автор koroganРаздел Шаблоны TPL

Ответов: 3
Просмотров: 3842
Последний ответ 01 Октября 2011, 03:05:48
от admin
Добавление атрибута ALT в шаблон catalog-thumbnail

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

Ответов: 8
Просмотров: 7030
Последний ответ 17 Октября 2012, 10:36:32
от admin
Шаблон вывода редактирования типа данных

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

Ответов: 2
Просмотров: 2900
Последний ответ 29 Мая 2013, 21:28:33
от crazygeorgio

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

*

agata

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Здравствуйте!

Помогите, пожалуйста, внести правку в шаблон страницы.

Есть шаблон blogs.xsl. Сейчас в нем "собираются" ссылки на все блоги сайта.

Нужно добавить вывод на той же странице сайта много ссылок на внешние блоги (с других сайтов). Хотелось бы эти "много ссылок" оформить отдельным файлом (например, outer_blogs.xls) и внедрить этот файл в blogs.xsl. Вопрос - как внедрить?

PS. сайт достался "по наследству", с UMI работаю в первый раз, сделать нужно ... вчера  ???

*

grave

  • *****
  • 32
  • +4/-0
    • Просмотр профиля
    • Студия Webartika
Re:Как правильно внедрить в шаблон html-код
« Ответ #1 : 29 Декабря 2011, 19:37:25 »
может xsl:call-template ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #2 : 29 Декабря 2011, 23:33:53 »
сделал бы так же как и grave , то есть сделал бы новый именной шаблон в любом файле (можете и в новом, только не забудь его подключить)

пример именного шаблона
<xsl:template name="blogs_links">
<a href="#">Ваша ссылка </a> или еще какое содержимое
</xsl:template>

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

*

agata

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #3 : 30 Декабря 2011, 07:19:34 »
Grave, Admin, спасибо. Все получилось именно так, как вы написали. С новым годом и удачи вам!

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #4 : 20 Февраля 2012, 11:53:30 »
А как внедрить html в шаблон новостей чтобы он не повторялся. А то у меня идет список новостей и под каждой новостью появляется мой код, а мне нужно чтобы он был только внизу.
Вот шаблон:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="result[@module = 'news' and @method = 'item']">
<xsl:value-of select="page//property[@name = 'content']/value" disable-output-escaping="yes" />
</xsl:template>

<xsl:template match="result[@module = 'news' and @method = 'rubric']">
<xsl:apply-templates select="document('udata://news/lastlist')/udata" />
</xsl:template>

<xsl:template match="udata[@module = 'news' and @method = 'lastlist']">
<xsl:apply-templates select="items">
<xsl:with-param name="list-class">
<xsl:text>news-lastlist</xsl:text>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>


<xsl:template match="udata[@method = 'lastlist']//item">
<xsl:param name="item-info" select="document(concat('upage://', @id))" />
<xsl:variable name="date" select="document(concat('udata://system/convertDate/', @publish_time, '/(d-m-Y)'))/udata" />

<table><tr><td>
<li>
<a href="{@link}" umi:element-id="{@id}" umi:field-name="name">
<xsl:value-of select="." />
</a>

<xsl:text> (</xsl:text>
<span umi:element-id="{@id}" umi:field-name="publish_time" umi:format="d-m-Y">
<xsl:value-of select="$date" />
</span>
<xsl:text>)</xsl:text>
</li><xsl:value-of select="$item-info//property[@name = 'anons']/value" disable-output-escaping="yes" />
</td>
<td>
<a href="{@link}" umi:field-name="anons_pic" umi:empty="картинка">
<xsl:choose>
<xsl:when test="$item-info//property[@name='anons_pic']/value">
<xsl:variable name="src" select="$item-info//property[@name='anons_pic']/value" />
<xsl:variable name="img_width" select="200" />
<xsl:variable name="img_height" select="auto" />

<xsl:variable name="thumb" select="document(concat('udata://system/makeThumbnail/(.',$src,')/',$img_width,'/',$img_height))/udata/src" />
<img src="{$thumb}" align="right"/>
</xsl:when>
<xsl:otherwise><img src="/images/cms/kubki.jpg" width="200" align="right" /></xsl:otherwise>
</xsl:choose>
</a>


</td></tr></table>

</xsl:template>

<!-- short_list -->
<xsl:template match="udata[@module = 'news' and @method = 'lastlist']" mode="short_list">
<xsl:apply-templates select="items" mode="short_list">
<xsl:with-param name="list-class">
<xsl:text>news-lastlist</xsl:text>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>


<xsl:template match="udata[@method = 'lastlist']//item"  mode="short_list">
<xsl:param name="item-info" select="document(concat('upage://', @id))" />
<xsl:variable name="date" select="document(concat('udata://system/convertDate/', @publish_time, '/(d-m-Y)'))/udata" />
<li>
<a href="{@link}" umi:element-id="{@id}" umi:field-name="name">
<xsl:value-of select="." />
</a>

<xsl:text> (</xsl:text>
<span umi:element-id="{@id}" umi:field-name="publish_time" umi:format="d-m-Y">
<xsl:value-of select="$date" />
</span>
<xsl:text>)</xsl:text>

<!--<xsl:apply-templates select="document(concat('upage://', @id, '.anons_pic'))/udata">
<xsl:with-param name="page-id" select="@id" />
</xsl:apply-templates>-->
</li>
</xsl:template>
<!-- short_list -->


<xsl:template match="property[@name = 'anons_pic']">
<xsl:param name="page-id" />


<img align="right" src="/images/autothumbs{value/@folder}/{value/@name}_50_.{value/@ext}"
umi:element-id="{$page-id}"
umi:field-name="{@name}"
/>

</xsl:template>

<xsl:template match="udata[@module = 'system' and @method = 'makeThumbnail']">
<xsl:param name="page-id" />
<xsl:param name="object-id" />
<xsl:param name="field-name" />

<img src="{src}" umi:element-id="{$page-id}" umi:object-id="{$object-id}" umi:field-name="{$field-name}" />
</xsl:template>


</xsl:stylesheet>

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #5 : 20 Февраля 2012, 18:21:09 »
вставляйте ваш код после вызова шаблона выводящего ленту новостей.

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #6 : 21 Февраля 2012, 12:17:54 »
вставляйте ваш код после вызова шаблона выводящего ленту новостей.
Я так и делаю, вставляю свой код после </td></tr></table> до </xsl:template> и получается после каждой новости вставляется мой код. А мне нужно чтобы он был только внизу.

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #7 : 21 Февраля 2012, 13:07:12 »
Вы очень не внимательны.
Вы вставляете свой код в шаблон который обрабатывает item"ы метода lastlist
<xsl:template match="udata[@method = 'lastlist']//item">
поэтому ваш код отображается после каждой новости.
Вам необходимо указать Ваш код в после вызова шаблона <xsl:template match="udata[@method = 'lastlist']//item">.

PS название шаблона не указано сознательно.

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #8 : 22 Февраля 2012, 14:22:12 »
Я в Юми не силен. Вы не могли бы показать конкретнее на примере.

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #9 : 22 Февраля 2012, 15:17:55 »
в основном шаблоне у вас есть вызов новостей, вот после этого вызова внедряйте ваша код.

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #10 : 22 Февраля 2012, 17:50:58 »
У меня один шаблон для всех страниц. Отдельно для новостей нет.
Новости выводятся через макрос вывода контента.

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #11 : 22 Февраля 2012, 19:39:38 »
конкретнее на примере
	
<div class="right">
<xsl:apply-templates select="/result/user" />

<xsl:apply-templates select="document('udata://news/lastlist/(news)')" mode="right-column-news" />
<p>
тут вставляем желаемое
</p>

<xsl:apply-templates select="document('udata://emarket/getCompareList')" />
<xsl:apply-templates select="document('udata://vote/insertlast/')" />
<xsl:apply-templates select="document('udata://dispatches/subscribe/')/udata" mode="right" />
<xsl:apply-templates select="document('udata://banners/fastInsert/right_block/')/udata" mode="right" />
</div>

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #12 : 24 Февраля 2012, 08:27:18 »
Вот мой шаблон:
<h2>
<xsl:value-of select="result/@header" />
</h2>

<xsl:apply-templates select="result" />

Так у меня выводится контент, в том числе и новости.

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #13 : 24 Февраля 2012, 13:26:44 »
какой вариант дэмо сайта вы выбрали когда устанавливали систему?
Выложите все содержимое файла шаблона

*

aizul

  • **
  • 94
  • +0/-0
    • Просмотр профиля
Re:Как правильно внедрить в шаблон html-код
« Ответ #14 : 24 Февраля 2012, 14:44:21 »
Магазин хомячков.
Вот шаблон:
<?xml version="1.0" encoding="utf-8"?>
<!--<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/smthng.dtd:file">
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/TR/xlink"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
xmlns:html="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xlink">

<xsl:include href="modules/content.xsl" />
<xsl:include href="modules/news.xsl" />
<xsl:include href="modules/photoalbum.xsl" />
<xsl:include href="modules/forum/common.xsl" />
<xsl:template match="/">


<html>
<head>

<link type="text/css" rel="stylesheet" href="/css/cms/style2.css" />
<meta name="description" content="{result/meta/description}" />
<meta name="keywords" content="{result/meta/keywords}" />

<title>
<xsl:value-of select="result/@title" />
</title>
<xsl:value-of select="document('udata://system/includeQuickEditJs')/udata" disable-output-escaping="yes" />
<script type='text/javascript' src='/js/prettyphoto/js/jquery.prettyPhoto.js'></script>
<link rel='stylesheet' type='text/css' href='/js/prettyphoto/css/prettyPhoto.css' media='screen' />
<script type="text/javascript" src="/js/prettyphoto_prepair.js"></script>

</head>

<body id="body">

<div id="menu">
<xsl:apply-templates select="document('udata://content/menu')/udata" />
</div>

      <div id="newsw">

        <div id="news">

          <dl>

            <dt>Ближайшее событие: <xsl:apply-templates select="document('udata://news/lastlist/(novosti)//1')/udata" mode="short_list"/></dt>

          </dl>

        </div>

      </div>
 
<div id="pagew">

      <div id="page">


        <div id="content">

<h2>
<xsl:value-of select="result/@header" />
</h2>

<xsl:apply-templates select="result" />


        </div>

      </div>

    </div>

<div id="footer">
</div>

</body>
</html>
</xsl:template>

</xsl:stylesheet>
« Последнее редактирование: 24 Февраля 2012, 14:46:06 от aizul »