Простое облако тегов
Актуально для версии 2.9
Пример облака тегов на сайте, на основе демо шаблона Demodizzy (2.8.5.3)
В основном шаблоне layouts/default.xsl делаем вызов макроса %stat tagsCloud()% - который отображает собранное облако тегов.
<xsl:apply-templates select="document('udata://stat/tagsCloud//10/10')/udata/lines" mode="tags" />
первый параметр 10 - это максимальное количество тегов на страницу.
второй параметр 10 - это максимальное значение атрибута размер.
Теперь создаем шаблон для вывода этих тегов, для этого создаем новый template:
<xsl:template match="item" mode="tags">
<strong style="font: {@font-size}pt/16pt sans-serif;">
<a href="/content/pagesByDomainTags/{.}"><xsl:value-of select="." /></a>
</strong><br />
</xsl:template>
Получилось что мы выводим облако тегов, которое в свою очередь будет нас направлять на страницу содержащую сведения о этих тегах, по сути будет отрабатывать макрос %content pagesByDomainTags()%
Теперь откроем файл xsltTpls/modules/content/common.xsl для оформления странички информации о тегах, и добавим туда шаблоны следующего содержания:
<xsl:template match="result[@module = 'content' and @method = 'pagesByDomainTags']">
<xsl:apply-templates select="//udata/items" mode="pagesByTag" />
</xsl:template>
<xsl:template match="item" mode="pagesByTag"><br />
<a href="{@link}"><xsl:value-of select="." /></a>
</xsl:template>
Все, теперь пользователи сайта могут находить тематичные страницы по собранным тегам на сайте.