Список рассылок текущего пользователя — различия между версиями
Материал из Umicms
Stexe (обсуждение | вклад) м (переименовал «Как сделать XSLT-шаблон, выводящий список рассылок, на которые подписан текущий пользователь?» в «[[Список рассылок текущего) |
Stexe (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
[[Категория: Верстка в XSLT]][[Категория: Модуль Рассылки]] | [[Категория: Верстка в XSLT]][[Категория: Модуль Рассылки]] | ||
'''Актуально для версии 2.9.6'''<br/><br/> | '''Актуально для версии 2.9.6'''<br/><br/> | ||
− | '''Задача:''' <br/><br/> | + | '''Задача:''' Средствами XSLT-шаблонизатора вывести список рассылок, на которые подписан текущий пользователь.<br/><br/> |
'''Реализация:''' | '''Реализация:''' | ||
− | + | Добавим следующую строку вызова макроса dispatches subscribe() в любой шаблон: | |
− | + | <source lang="xml"> | |
− | + | <xsl:apply-templates select="document('udata://dispatches/subscribe')/udata/subscriber_dispatches" mode="subs" /> | |
+ | </source> | ||
+ | Также, добавим шаблоны для обработки результатов работы описанного выше макроса: | ||
<source lang="xml"> | <source lang="xml"> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<xsl:template match="subscriber_dispatches" mode="subs"> | <xsl:template match="subscriber_dispatches" mode="subs"> | ||
− | Вы подписаны на рассылки: <br/> | + | <h3>Вы подписаны на рассылки: </h3> |
− | <xsl:apply-templates select=" | + | <br /> |
+ | <ul> | ||
+ | <xsl:apply-templates select="items[@is_checked = '1']" mode="subs"/> | ||
+ | </ul> | ||
</xsl:template> | </xsl:template> | ||
− | + | ||
<xsl:template match="items" mode="subs"> | <xsl:template match="items" mode="subs"> | ||
− | + | <li> | |
+ | <xsl:value-of select="."/> | ||
+ | </li> | ||
</xsl:template> | </xsl:template> | ||
− | |||
− | |||
</source> | </source> | ||
+ | В итоге будет выведен список рассылок ( тегом <ul> ), на которые подписан текущий пользователь. |
Текущая версия на 08:07, 11 апреля 2014
Актуально для версии 2.9.6
Задача: Средствами XSLT-шаблонизатора вывести список рассылок, на которые подписан текущий пользователь.
Реализация:
Добавим следующую строку вызова макроса dispatches subscribe() в любой шаблон:
<xsl:apply-templates select="document('udata://dispatches/subscribe')/udata/subscriber_dispatches" mode="subs" />
Также, добавим шаблоны для обработки результатов работы описанного выше макроса:
<xsl:template match="subscriber_dispatches" mode="subs">
<h3>Вы подписаны на рассылки: </h3>
<br />
<ul>
<xsl:apply-templates select="items[@is_checked = '1']" mode="subs"/>
</ul>
</xsl:template>
<xsl:template match="items" mode="subs">
<li>
<xsl:value-of select="."/>
</li>
</xsl:template>
В итоге будет выведен список рассылок ( тегом <ul> ), на которые подписан текущий пользователь.