Построение карты сайта с указаним в дополнительном свойстве структуры флага "Отображать в карте сайта"

Модератор
#
Построение карты сайта с указаним в дополнительном свойстве структуры флага "Отображать в карте сайта"
Иногда необходимо некоторые разделы включить в карту сайта, другие исключить.
Для этого:
1. Создаем в структуре сайта доп. св-во "Отображать в карте сайта", указываем для него имя в XML - "check_map".
2. В коде типовой дин. страницы структуры сайта:
// Доп. св-ва для структуры отключаем
$param['xml_show_structure_property'] = false;

заменяем на
// Доп. св-ва для структуры включаем
$param['xml_show_structure_property'] = true;

3. В XSL карты сайта заменяем выделенные фрагменты:

...
   <xsl:template match="/document">
      
...
         <!-- Выбираем узлы структуры -->
         <xsl:apply-templates select="structure[not(propertys/property[@name='check_map']/node()) or propertys/property[@name='check_map']/value = 1]"/>
...
   </xsl:template>
...
<xsl:template match="structure">
   ...
            
            <!-- Выбираем подузлы структуры -->
            <xsl:if test="count(structure[not(propertys/property[@name='check_map']/node()) or propertys/property[@name='check_map']/value = 1]) &gt; 0">
               ...
                  <!-- Выбираем узлы структуры -->
                  <xsl:apply-templates select="structure[not(propertys/property[@name='check_map']/node()) or propertys/property[@name='check_map']/value = 1]"/>
               ...
            </xsl:if>
...
      </xsl:template>
Авторизация