Простое облако тегов — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Пример облака тегов на сайте, на основе демо шаблона Demodizzy (2.8.5.3) В основном шаблоне layouts/defau…»)
(нет различий)

Версия 07:11, 18 октября 2012

Пример облака тегов на сайте, на основе демо шаблона 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>

Все, теперь пользователи сайта могут находить тематичные страницы по собранным тегам на сайте.