Хлебные крошки не получается провалить до последнего документа

#
Хлебные крошки не получается провалить до последнего документа
Помогите пожалуйста с хлебными крошками

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- Хлебные крошки -->
   
   <xsl:template match="/document">
      
      <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
      <xsl:variable name="current_structure_id">
         <xsl:choose>
            <xsl:when test="item/node()">item_<xsl:value-of select="item"/></xsl:when>
            <xsl:when test="group/node()">group_<xsl:value-of select="group"/></xsl:when>
            <xsl:otherwise>
               <xsl:value-of select="structure/current_structure_id"/>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <xsl:if test="count(//structure[@id = $current_structure_id]) &gt; 0">
         <a href="/"><xsl:value-of disable-output-escaping="yes" select="structure[link = '/']/name"/></a>
         <xsl:apply-templates select="//structure[@id = $current_structure_id]">
            <xsl:with-param name="is_last_item" select="1"/>
         </xsl:apply-templates>
      </xsl:if>
   </xsl:template>
   
   <xsl:template match="structure">
      
      <xsl:param name="is_last_item" select="0"/>
      
      <!-- Выбираем все узлы структуры всех уровней вложенности -->
      <xsl:apply-templates select="parent::structure"/>
      
      <!-- Определяем адрес ссылки -->
      <xsl:variable name="link">
         <xsl:choose>
            <!-- Если внешняя ссылка -->
            <xsl:when test="is_external_link=1">
               <xsl:value-of disable-output-escaping="yes" select="is_external_link"/>
            </xsl:when>
            <!-- Иначе если внутренняя ссылка -->
            <xsl:otherwise>
               <xsl:value-of disable-output-escaping="yes" select="link"/>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <span class="path_arrow">&#x2192;</span>
      
      <!-- Показывать ссылку, или нет -->
      <xsl:choose>
         <xsl:when test="show_link = 1 and $is_last_item = 0">
            
            <a href="{$link}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </a>
         </xsl:when>
         <!-- Если не показывать ссылку - выводим просто имя ссылки -->
         <xsl:otherwise>
            <xsl:value-of disable-output-escaping="yes" select="name"/>
         </xsl:otherwise>
      </xsl:choose>
   </xsl:template>
</xsl:stylesheet>


Отображаться должны только для структуры одной и до последнего вложения. Что сделанно не так?
iq-site
Модератор
#
Re: Хлебные крошки не получается провалить до последнего документа
Код вызова? Что именно не так отображается?
#
Re: Хлебные крошки не получается провалить до последнего документа
Отображается только так для всех вложения: Главная&#8594;Каталог продукции

Отобраджаться должно вот так
Главная&#8594;Каталог продукции&#8594; Капитальный ремонт замедлителей


http://zrmz.iq-site.ru/catalog/24/


код вызова

<?
               $structure = new Structure();
               $structure->showStructure(3,'ХлебныеКрошки';
            ?>
iq-site
Модератор
#
Re: Хлебные крошки не получается провалить до последнего документа
iqsite,
Ничего удивительно, посмотрите XML, там этих данных просто нет.
Код вызова:
   <?php
   // Вывод строки навигации
   $InformationSystem = & singleton('InformationSystem');
   
   // Определяем информацию об информационной системе, связанной с текущим узлом
   $InformationSystem_id = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
   
   $param = array();
   
   $external_propertys = array();
   
   // Если с узлом структуры связана ИС
   if ($InformationSystem_id)
   {
      $result = $InformationSystem->GetInformationFromPath($InformationSystem_id, '', false);
   
      // определяем id информационного элемента
      if ($result['item'])
      {
         $item_id = $InformationSystem->GetIdInformationItem($result['item'], $result['group'], $InformationSystem_id);
   
         if ($item_id != 0)
         {
            $external_propertys['item'] = $item_id;
   
            $param['show_groups'] = true;
            $param['show_items'] = array($item_id);
         }
      }
      else
      {
         $item_id = false;
      }
   
      if (is_array($result) && $result['group'] > 0)
      {
         // Передаем во внешние параметры ID элемента и группы
         $external_propertys['group'] = $result['group'];
         $param['show_groups'] = true;
      }
   
      // Данные для хлебных крошек заполняем только для текущей ИС
      $param['show_information_systems'][] = $InformationSystem_id;
   }
   elseif (class_exists('shop'))
   {
      $shop = & singleton('shop');
   
      // Определяем информацию о магазине, связанным с магазином
      $shop_row = $shop->GetShopWhithStructureId(CURRENT_STRUCTURE_ID, CURRENT_SITE);
   
      if ($shop_row)
      {
         $result = $shop->GetItemPath($shop_row['shop_shops_id'], '', false);
   
         // определяем id информационного элемента
         if ($result['item'])
         {
            $item_id = $result['item'];
   
            if ($item_id != 0)
            {
               $external_propertys['item'] = $item_id;
   
               $param['show_shop_groups'] = true;
               $param['show_shop_items'] = array($item_id);
            }
         }
         else
         {
            $item_id = false;
         }
   
         if (is_array($result) && $result['group'] > 0)
         {
            // Передаем во внешние параметры ID элемента и группы
   
            $external_propertys['group'] = $result['group'];
            $param['show_shop_groups'] = true;
         }
      }
   }
   
   $structure = & singleton('Structure');
   $structure->ShowStructure(false, 'ХлебныеКрошки', $param, $external_propertys);
   
   // /Хлебные крошки
   ?>

+ XSL-шаблон хлебных крошек обновите с демо-сайта: http://www.hostcms.ru/hostcms/demo/
#
Re: Хлебные крошки не получается провалить до последнего документа
спасибо большое
iq-site
Модератор
#
Re: Хлебные крошки не получается провалить до последнего документа
Пожалуйста.
Авторизация