Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод количества объектов в категории. XSLT

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

Ответов: 6
Просмотров: 4706
Последний ответ 18 Октября 2014, 17:39:24
от idu.kuru
Сортировка по алфавиту в xslt

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

Ответов: 2
Просмотров: 4201
Последний ответ 14 Января 2012, 17:25:36
от admin
Не выводятся все теги в xslt

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

Ответов: 2
Просмотров: 3821
Последний ответ 03 Июня 2014, 13:52:04
от goodprofy
webforms & XSLT & модальное окно

Автор graveРаздел JS и AJAX

Ответов: 8
Просмотров: 8539
Последний ответ 13 Июня 2011, 00:41:56
от talanter
Как вывести itemprop="position" content="" в XSLT?

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

Ответов: 0
Просмотров: 1530
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979

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

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Шаблон для модуля на XSLT
« Ответ #15 : 14 Мая 2014, 13:26:12 »
Подскажите.
Как выводить ленту новостей автоматически?

В шаблоне если вписать вручную код, то все выводится
udata://news/lastlents/(vse_novosti)/notemplate/10/0

Есть разделы:
Лента
    Лента 1
          Новость 1
          Новость 2
    Лента 2
          Новость 3
          Новость 4
Почему код
<xsl:apply-templates select="result" />
Не выводит список вложенных лент 1 и 2, если зайти в раздел "Лента"
в шаблоне /news/lastlents.xsl подключен.
    <xsl:template match="udata[@module = 'news'][@method = 'lastlents']">
        <xsl:param name="page_id" select="'6'" />
        <div class="news_lents" umi:element-id="{$page_id}" umi:region="list" umi:module="news" umi:sortable="sortable" umi:button-position="top right" />
    </xsl:template>

    <xsl:template match="udata[@module = 'news'][@method = 'lastlents'][total]">
        <xsl:param name="page_id" select="'6'" />
        <div class="news_lents" umi:element-id="{$page_id}" umi:region="list" umi:module="news" umi:sortable="sortable" umi:button-position="top right">
            <xsl:apply-templates select="items/item" />
        </div>
    </xsl:template>

    <xsl:template match="udata[@method = 'lastlents']/items/item">
        <a href="{@link}" umi:element-id="{@id}" umi:region="row" umi:field-name="name" umi:field-type="string" umi:delete="delete" umi:empty="&empty-section-name;" umi:url-attribute="href">
            <xsl:apply-templates />
        </a>
    </xsl:template>




Ваш вопрос почему вы не видите на странице "Лента" дочерние ленты новостей?
При этом, в приведенном вами xml куске шаблонов мы видим шаблоны для вывода дочерних лент. Но мы не видим шаблона, который срабатывает по умолчанию для страниц типа "Лента новостей". По умолчанию, он такой
<xsl:template match="/result[@module = 'news'][@method = 'rubric']">
<xsl:apply-templates select="document('udata://news/lastlist/?extProps=publish_time,anons')" />
</xsl:template>

и тут четко видно, что система и не пытается вызвать макрос udata://news/lastlents/ для вывода дочерних лент. Возможно, в этом и есть решение вашей проблемы.