Как вывести теги для товара по алфавиту
Как вывести теги для товара по алфавиту
Не могу найти, как сделать сортировку тегов для товара по алфавиту. У меня информация о товаре выводится через динамическую страницу с помощью функции:
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
И теги для товара могут выводится по разному как захотят.
Я пробую выводить теги после этой функции:
/*параметры для вывода меток товара*/
$property['TagsOrder']="ASC";
//идентификатор товара
$property['In']=$GLOBALS['shop_item_path']['item'];
$xsl_name='ОблакоТеговТовар';
/*вывод меток для товара*/
$shop->ShowTagsCloud($current_shop_id,$xsl_name,$property);
Сделала xsl-шаблон для вывода тегов товара:
<!--ОблакоТэгов -->
<xsl:template match="/">
<xsl:apply-templates select="/shop"/>
</xsl:template>
<!--<xsl:template match="/shop">
<xsl:apply-templates select="item"/>
</xsl:template>-->
<xsl:template match="/shop">
<div style="margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;">
<!-- Тэги для информационного элемента -->
<xsl:if test="count(tags/tag) != 0">
<p style="float: left; padding: 0px 0px 0px 0px; margin: 40px 40px 0px 0px;">
<img src="/hostcmsfiles/images/tags.gif" align="left" style="margin: 0px 5px -2px 0px"/>
<xsl:apply-templates select="tags/tag"/>
</p>
</xsl:if>
</div>
</xsl:template>
<!-- /// Метки для информационного элемента /// -->
<xsl:template match="tags/tag">
<a href="{/shop/path}tag/{tag_path_name}/" class="tag">
<xsl:value-of select="tag_name"/>
</a>
<xsl:if test="position() != last()">
</xsl:if> 
</xsl:template>
Выводятся 3 метки из справочника по алфавиту только не те, которые указаны у товара. Когда меняю узел "/shop"/> на "item"/>, то ничего не выводятся.
Подскажите, где ошибка? Темы на форуме смотрела, ничего не подходит.
Re: Как вывести теги для товара по алфавиту
Проблему решила. Не там искала информацию, перепутала функции вывода тегов. Для сортировки использовала использованием элемента <xsl: sort/> в шаблоне вывода информации о товаре.
<xsl:if test="count(tags/tag) > 0">
<p style="float: left; padding: 0px 0px 0px 0px; margin: 40px 40px 0px 0px;">
<img src="/hostcmsfiles/images/tags.gif" align="left" style="margin: 0px 5px -2px 0px"/>
<xsl:apply-templates select="tags/tag">
<xsl:sort select = "tag_name" order = "ascending" case-order = "lower-first" />
</xsl:apply-templates>
</p>
</xsl:if>