Хлебные крошки

#
Re: Хлебные крошки
От версии к верси ждал что "хлебные крошки будут реализованы в системе по дефолту, но так и не дождался, надеюсь в следующем релизе все - таки такое появится, уж очень нужная вещь. Судя по топику проблему решили, но окончательного решения ни кто не выложил.
Прошу того кто реализовал или суппорт hostcms выложить готовое решение "хлебных крошек".
В суппорт писал, сказали, чтобы я предоставил доступ, но на этом все остановилось, хотя доступ был предоставлен.
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
Модератор
#
Re: Хлебные крошки
Varkolak,
прошу уточнить, что Вы подразумеваете под Varkolak писал(а):
реализованы в системе по дефолту


В ИС хлебные крошки имеются, есть примеры реализации для структуры. Фактически хлебные крошки являются надстройкой над модулем структуры и инфосистем (вместе или по отдельности).

Varkolak писал(а):
В суппорт писал, сказали, чтобы я предоставил доступ, но на этом все остановилось, хотя доступ был предоставлен.

напишите еще раз, сообщите данные доступа и описание проблемы. Если ответ не получили - пишите обязательно еще раз.
Модератор
#
Re: Хлебные крошки
XSL-шаблон:
<?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 method="html" indent="yes" encoding="Windows-1251"/>

<!-- Хлебные крошки -->

<xsl:template match="/document">

   <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
   <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>

   <xsl:if test="count(//structure[@id = $current_structure_id]) > 0">
  
      <a href="/">Главная</a>
  
      <span class="path_arrow">&#8594;</span>
      
      <!-- Выбираем все узлы структуры всех уровней вложенности -->
      <xsl:apply-templates select="//structure[@id = $current_structure_id]"/>
   </xsl:if>

</xsl:template>

<xsl:template match="structure">

   <!-- Показывать ссылку, или нет -->
   <xsl:if test="show_link=1">
   
      <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
      <xsl:variable name="parent_structure_id" select="id_parent"/>
   
      <!-- Выбираем все узлы структуры всех уровней вложенности -->
      <xsl:apply-templates select="//structure[@id = $parent_structure_id]"/>
     
      <!-- Определяем адрес ссылки -->
      <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>
   
      <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
      <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
   

      <!-- Расчитываем размер отступа -->
      <xsl:variable name="padding" select="level * 10"/>
   
      <xsl:if test="$parent_structure_id != 0">
         <span class="path_arrow">&#8594;</span>
      </xsl:if>
   
      <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
   
   </xsl:if>
   
   <!-- Если не показывать ссылку - выводим просто имя ссылки -->
   <xsl:if test="show_link=0">
      <xsl:value-of disable-output-escaping="yes" select="name"/>
   </xsl:if>

</xsl:template>

</xsl:stylesheet>


Вызов

   $Structure = new Structure();
   $Structure->ShowStructure(false, "ХлебныеКрошки", array('show_items' => true, 'show_groups' => true));
#
Re: Хлебные крошки
а можно ли подобный шаблон создать для интернет-магазина?
и как его можно вызвать?
Модератор
#
Re: Хлебные крошки
#
Re: Хлебные крошки
да, сократил тот шаблон только до вывода пути
а каким методом его можно вызвать? метод ведь должен быть класса shop?
то есть суть - вынести вывод пути в отдельный xsl-шаблон и вызывать его в общем шаблоне
Модератор
#
Re: Хлебные крошки
Метод ShowShop (описание см. в API на сайте или в CHM)
#
Re: Хлебные крошки
как модернизировать шаблон Хлебные крошки, чтобы конечная страница выводилась текстом без ссылки (чтобы не было ссылки на саму себя) ?

то есть
Главная / Страница 1 / Страница 2 / Текущая страница
#
Re: Хлебные крошки
Попробуйте в этом XSL-шаблоне заменить вывод ссылки
<a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
следующим блоком:

<xsl:choose>
<xsl:when test="$current_structure_id != @id">
<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>
#
Re: Хлебные крошки
А хотелось бы узнать как сделать так что бы на Главной странице не появлялись ссылки:
Главная -> Главная
Авторизация