UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: PekopT от 22 Июня 2011, 14:54:03

Название: иерархия новостей на xslt
Отправлено: PekopT от 22 Июня 2011, 14:54:03
Проблема следующая
У меня есть лента новостей ( например id 100 )

в ней есть новости ( 101, 102, 103 )

в ленте новостей есть также под-ленты ( 104, 105 )


так вот выбирая udata://news/lastlist/100

я получаю только id новостей ( т.е. 101 102 103 )
но не получаю id подленты.

что делать чтобы получить многоуровневую выборку заголовков новостей и лент?
Название: Re:иерархия новостей на xslt
Отправлено: admin от 22 Июня 2011, 15:00:38
используй макрос lastlist  (http://help-dev.umi-cms.ru/news.lastlist.html) чтобы получить все новости и макрос lastlents (http://help-dev.umi-cms.ru/news.lastlents.html) чтобы получить все дочерние ленты

можешь их вывести один за другим, можешь вызвать вначале все ленты, а обрабатывая их выводить уже все их новости и подленты и так далее
Название: Re:иерархия новостей на xslt
Отправлено: PekopT от 22 Июня 2011, 15:58:28
ну это то работает. но хочется чтобы сортировка была как в иерархии админки(((
Название: Re:иерархия новостей на xslt
Отправлено: admin от 22 Июня 2011, 16:11:47
в смысле, сортировка как в админке, то есть у тебя ленты выводятся не так как в админке? или у тебя ленты на одном уровне с новостями перемешаны и ты хочешь их вывести также перемешано?
Название: Re:иерархия новостей на xslt
Отправлено: PekopT от 22 Июня 2011, 16:12:52
именно, хочу так как перемешано)))
Название: Re:иерархия новостей на xslt
Отправлено: admin от 22 Июня 2011, 16:24:32
ну тогда тебе опять к usel протоколу

пиши выборку по 2 типам данных (новости и ленты) одновременно, из нужного тебе раздела, глубина 1, сортировка ord (сортировать по порядку страниц.)

обрабатывая каждый результат делай повторные выборки уже внутри результата
Название: Re:иерархия новостей на xslt
Отправлено: PekopT от 22 Июня 2011, 18:20:51
так создавая выборку по usel
я получил такой xml

<udata>
 <page />
 <page />
</udata>

как теперь обратится к каждому page?

<xsl:template match="page"/>

?
Название: Re:иерархия новостей на xslt
Отправлено: admin от 22 Июня 2011, 22:42:19
ну если вы обращались как-то так
<xsl:apply-templates select="document('usel://uselfie')/udata" mode="list_render"/>

вы получили в ответ что-то в таком духе
<udata>
 <page />
 <page />
</udata>

пишем шаблон для обработки

<xsl:template match="udata" mode="list_render">
        этот шаблон задает оформление блока с лентами и новостями
<xsl:apply-templates select="page" mode="list_render" />
</xsl:template>

<xsl:template match="page" mode="list_render">
        этот шаблон задает оформление каждого элемента списка
<a href="{@name}"><xsl:value select="name"/></a>
</xsl:template>
Название: Re: иерархия новостей на xslt
Отправлено: imsystemru от 17 Октября 2016, 22:11:37
используй макрос lastlist  (http://help-dev.umi-cms.ru/news.lastlist.html) чтобы получить все новости и макрос lastlents (http://help-dev.umi-cms.ru/news.lastlents.html) чтобы получить все дочерние ленты

можешь их вывести один за другим, можешь вызвать вначале все ленты, а обрабатывая их выводить уже все их новости и подленты и так далее

А можно по подробней как это сделать?