Оставить только название в хлебных крошках

#
Оставить только название в хлебных крошках
Доброе утро!

Не хватает знаний, чтобы переделать шаблон хлебных крошек.

Необходимо, чтобы выводилось только название товара или элемента информационной системы.

стандартный код:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- Хлебные крошки -->
   
   <xsl:template match="/site">
      <xsl:if test="count(*[@id]) &gt; 0">
         <div xmlns:v="http://rdf.data-vocabulary.org/#">
            <span typeof="v:Breadcrumb">
               <a href="/" property="v:title" rel="v:url">Главная</a>
            </span>
            <xsl:apply-templates select="*[@id]" />
         </div>
      </xsl:if>
   </xsl:template>
   
   <xsl:template match="*">
      
      <!-- Определяем адрес ссылки -->
      <xsl:variable name="link">
         <xsl:choose>
            <!-- Если внутренняя ссылка -->
            <xsl:when test="link != ''">
               <xsl:value-of disable-output-escaping="yes" select="link"/>
            </xsl:when>
            <!-- Если внешняя ссылка -->
            <xsl:otherwise>
               <xsl:value-of disable-output-escaping="yes" select="url"/>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <i class="fa fa-angle-right"></i>
      
      <!-- Показывать ссылку? -->
      <xsl:choose>
         <xsl:when test="(show = 1 or active/node() and active = 1) and count(*[@id][link/node() or url/node()]) &gt; 0">
            <span typeof="v:Breadcrumb">
               <a title="{name}" href="{$link}" property="v:title" rel="v:url">
                  <xsl:value-of disable-output-escaping="yes" select="name"/>
               </a>
            </span>
         </xsl:when>
         <xsl:otherwise>
            <xsl:value-of disable-output-escaping="yes" select="name"/>
         </xsl:otherwise>
      </xsl:choose>
      
      <xsl:apply-templates select="*[@id][link/node() or url/node()]" />
      
   </xsl:template>
</xsl:stylesheet>


спасибо за помощь!
#
Re: Оставить только название в хлебных крошках
Добрый день!

С название в хлебных крошках разобралась

А кто-нить знает как вывести описание информационной системы или элемента в хлебных крошках?
Модератор
#
Re: Оставить только название в хлебных крошках
Начните с того, что включите XML и посмотрите, есть ли нужная вам там информация.
#
Re: Оставить только название в хлебных крошках
HostCMS,
нет, я смотрела.

#
Re: Оставить только название в хлебных крошках
Разобралась с задачей. Может кому-нить пригодится решение. На элегантность не претендую

Задача: Выводить в макете название и описание информационной системы или элементов.

1. Создать дополнительное свойство (у меня большое текстовое поле) - для информационных элементов и структуры.
2. Сделать копию XSL-шаблона "Карта сайта" и внести изменение по приведенному ниже примеру, либо просто скопировать в чистый шаблон:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <xsl:template match="/site">
         <!-- Выбираем узлы структуры -->
             <xsl:apply-templates select="child::*[show=1]"/>
   </xsl:template>
   
   <xsl:template match="*">
      <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
      <xsl:variable name="current_structure_id" select="/site/current_structure_id"/>
      <!-- Получаем ID родительской группы и записываем в переменную $group -->
      <xsl:variable name="group" select="informationsystem_group_id"/>
         
         <!-- Показывать ссылку, или нет -->
         <xsl:if test="show = 1 and count(child::*[show=1]) = 0">
               
            <h1 class="oi_legend"><xsl:value-of disable-output-escaping="yes" select="name"/></h1>
            {<xsl:value-of select="//informationsystem_group[@id=$group]/name"/>} <br />
            <xsl:value-of select="property_value[tag_name='description']/value"/>
         <hr class="small oi_next-prev_hr" />
         </xsl:if>
         
         <!-- Выбираем подузлы структуры -->
         <xsl:if test="count(child::*[show=1]) &gt; 0">
               <!-- Выбираем узлы структуры -->
               <xsl:apply-templates select="child::*[show=1]"/>
         </xsl:if>
   </xsl:template>
</xsl:stylesheet>


3. В макет в нужном месте сделать вывод:
<?php
    // Вывод строки навигации
    $Structure_Controller_Breadcrumbs = new Structure_Controller_Breadcrumbs(
          Core_Entity::factory('Site', CURRENT_SITE)
       );
    $Structure_Controller_Breadcrumbs
       ->xsl(
          Core_Entity::factory('Xsl')->getByName('ХлебныеКрошкиСайт2')
       )
   ->showProperties(TRUE)
       ->show();
    ?>


если есть лучшее решение, буду рада узнать
Авторизация