Карта сайта -> вывод Фотогалереи

#
Карта сайта -> вывод Фотогалереи
Доброго времени суток!
Скажите пожалуйста, как в Карте сайта запретить вывод элементов групп (только для Фотогалереи) ?

Фотогалерея
--- Природа
------ Фото №1
------ Фото №2
------ Фото №3


Нужно в Карте сайта запретить вывод Фото №1, Фото №2, Фото №3 и т.д, оставить только группы.
#
Re: Карта сайта -> вывод Фотогалереи
В XSL шаблоне "КартаСайта" добавьте отдельное условие для фотогалереи, определить что это фотогалерея можно по id или по пути элемента структуры
Команда разработчиков KAD Systems | Интеграция и нестандартные решения на совесть | Email: info@kad.systems Skype: kad.systems | http://kad.systems/ https://vk.com/kad_sys
#
Re: Карта сайта -> вывод Фотогалереи
А как? Я в XSLT ни в зуб копытом Если Вам несложно покажите пожалуйста код.
#
Re: Карта сайта -> вывод Фотогалереи
вот таким условием можно выявить группы фотогалереи, если конечно у Вас не будет вложенных групп

<xsl:if test="../path = 'photogallery' and parent_id = 0">
</xsl:if>
Команда разработчиков KAD Systems | Интеграция и нестандартные решения на совесть | Email: info@kad.systems Skype: kad.systems | http://kad.systems/ https://vk.com/kad_sys
#
Re: Карта сайта -> вывод Фотогалереи
Спасибо, сейчас попробую.
#
Re: Карта сайта -> вывод Фотогалереи
Убился напрочь, прошу помощи! В карте стопор происходит на первой группе Фотогалереи, дальше карту сайта не вводит. Понятное дело, что ниже следующий код XSLT не правильный, помогите пожалуйста запретить вывод в карте сайта элементов групп!

<xsl:if test="../path = 'photogallery' and parent_id = 0">
    <xsl:if test="$parent_id = 0">
         <xsl:apply-templates select=".//child[@parent_id=0]" />
    </xsl:if>
</xsl:if>
#
Re: Карта сайта -> вывод Фотогалереи
KAD писал(а):
вот таким условием можно выявить группы фотогалереи, если конечно у Вас не будет вложенных групп


Меня тоже интересует данный вопрос, решения пока нет. Как конкретно реализовать вывод в карту только групп фотогалереи
#
Re: Карта сайта -> вывод Фотогалереи
Все оказалось очень просто, вот шаблон

<?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">
      
      <h1>Карта сайта</h1>
      
      <ul class="siteMap">
         <!-- Выбираем узлы структуры -->
         <xsl:apply-templates select="child::*[show=1]"/>
      </ul>
   </xsl:template>
   
   <xsl:template match="*">
      <li>
         <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
         <xsl:variable name="current_structure_id" select="/site/current_structure_id"/>
         
         <!-- Показывать ссылку, или нет -->
         <xsl:if test="show = 1">
            <!-- Определяем адрес ссылки -->
            <xsl:variable name="link">
               <xsl:choose>
                  <!-- Если внешняя ссылка -->
                  <xsl:when test="url != ''">
                     <xsl:value-of disable-output-escaping="yes" select="url"/>
                  </xsl:when>
                  <!-- Иначе если внутренняя ссылка -->
                  <xsl:otherwise>
                     <xsl:value-of disable-output-escaping="yes" select="link"/>
                  </xsl:otherwise>
               </xsl:choose>
            </xsl:variable>
            
            <!-- Определяем стиль вывода ссылки -->
            <xsl:variable name="link_style">
               <xsl:choose>
                  <!-- Выделяем текущую страницу жирным (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
                  <xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">font-weight: bold</xsl:when>
                  <!-- Иначе обычный вывод с пустым стилем -->
                  <xsl:otherwise></xsl:otherwise>
               </xsl:choose>
            </xsl:variable>
            
            <a href="{$link}">
               <span style="{$link_style}">
                  <xsl:value-of disable-output-escaping="yes" select="name"/>
               </span>
            </a>
         </xsl:if>
         
         <xsl:variable name="path">
            <xsl:if test="../path">
               <xsl:value-of disable-output-escaping="yes" select="../path"/>
            </xsl:if>
            <xsl:if test="not(../path)">
               0
            </xsl:if>
         </xsl:variable>
         
         <!-- Выбираем подузлы структуры -->
         <xsl:if test="count(child::*[show=1]) &gt; 0">
            <ul>
               <xsl:if test="$path = 'photogallery'">
                  <!-- Выбираем узлы структуры -->
                  <xsl:apply-templates select="child::informationsystem_group[show=1]"/>
               </xsl:if>
               <xsl:if test="$path != 'photogallery'">
                  <!-- Выбираем узлы структуры -->
                  <xsl:apply-templates select="child::*[show=1]"/>
               </xsl:if>
            </ul>
         </xsl:if>
      </li>
   </xsl:template>
</xsl:stylesheet>
Команда разработчиков KAD Systems | Интеграция и нестандартные решения на совесть | Email: info@kad.systems Skype: kad.systems | http://kad.systems/ https://vk.com/kad_sys
#
Re: Карта сайта -> вывод Фотогалереи
KAD писал(а):
Все оказалось очень просто, вот шаблон


Спасибо тебе добрый человек, все работает как надо. Единственно поправил <ul>  в <!-- Выбираем подузлы структуры -->, иначе после каждой группы фотогалереи вываливается <ul></ul>. Вот так выводит как надо:

         <!-- Выбираем подузлы структуры -->
         <xsl:if test="count(child::*[show=1]) &gt; 0">
               <xsl:if test="$path = 'photogallery'">
                  <!-- Выбираем узлы структуры -->
                  <xsl:apply-templates select="child::informationsystem_group[show=1]"/>
               </xsl:if>
               <xsl:if test="$path != 'photogallery'">
                  <ul>
                     <!-- Выбираем узлы структуры -->
                     <xsl:apply-templates select="child::*[show=1]"/>
                  </ul>
               </xsl:if>
         </xsl:if>
#
Re: Карта сайта -> вывод Фотогалереи
Пожалуйста
Команда разработчиков KAD Systems | Интеграция и нестандартные решения на совесть | Email: info@kad.systems Skype: kad.systems | http://kad.systems/ https://vk.com/kad_sys
Авторизация