Выделить текущую группу
Вывожу подменю разделов (это либо узлы структуры либо группы ИС)
Обрабатываю вот так
Есть два вопроса которые не могу понять!
1) Если выводятся группы ИС то как выделить текущую? В моем шаблоне проверка сделана только на узлы структуры (выделил жирным)
2) Если есть группы ИС то мне не нужно выводить меню из групп, понимаете да что получается.. наверху меню из групп а в спискеЭлементовИС у меня так же выводятся группы.
xml Менюшки на всякий (находимся в корне ИС с группами)
<?
// Подменю
$Structure = new Structure();
$structure_parent_id = CURRENT_STRUCTURE_ID;
while ($structure_parent_id != 0)
{
$row_structure = $Structure->GetStructureItem($structure_parent_id);
$structure_parent_id = $row_structure['structure_parent_id'];
}
$Structure->ShowStructure(false, 'Менюшка', array('parent_id' => $row_structure['structure_id'], 'show_groups' => true));
?>
// Подменю
$Structure = new Structure();
$structure_parent_id = CURRENT_STRUCTURE_ID;
while ($structure_parent_id != 0)
{
$row_structure = $Structure->GetStructureItem($structure_parent_id);
$structure_parent_id = $row_structure['structure_parent_id'];
}
$Structure->ShowStructure(false, 'Менюшка', array('parent_id' => $row_structure['structure_id'], 'show_groups' => true));
?>
Обрабатываю вот так
<?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">
<xsl:if test="count(structure[show=1]) > 0">
<ul class="razdel">
<!-- Выбираем узлы структуры -->
<xsl:apply-templates select="structure[show=1]"/>
</ul>
<div style="clear:left;"></div>
</xsl:if>
</xsl:template>
<xsl:template match="structure">
<!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
<xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
<!-- Показывать ссылку, или нет -->
<xsl:if test="show_link=1">
<!-- Определяем адрес ссылки -->
<xsl:variable name="link">
<xsl:choose>
<!-- Если внешняя ссылка -->
<xsl:when test="is_external_link=1">
<xsl:value-of disable-output-escaping="yes" select="external_link"/>
</xsl:when>
<!-- Иначе если внутренняя ссылка -->
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="link"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">
<li class="active">
<div class="cornerLeft"></div>
<div class="cornerRight"></div>
<a href="{$link}" title="{name}" class="active">
<xsl:value-of disable-output-escaping="yes" select="name"/></a>
</li>
</xsl:when>
<!-- Иначе обычный вывод с пустым стилем -->
<xsl:otherwise><li><a href="{$link}" title="{name}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a></li></xsl:otherwise>
</xsl:choose>
</xsl:if>
<!-- Если не показывать ссылку - выводим просто имя ссылки -->
<xsl:if test="show_link=0">
<li>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</li>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<!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">
<xsl:if test="count(structure[show=1]) > 0">
<ul class="razdel">
<!-- Выбираем узлы структуры -->
<xsl:apply-templates select="structure[show=1]"/>
</ul>
<div style="clear:left;"></div>
</xsl:if>
</xsl:template>
<xsl:template match="structure">
<!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
<xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
<!-- Показывать ссылку, или нет -->
<xsl:if test="show_link=1">
<!-- Определяем адрес ссылки -->
<xsl:variable name="link">
<xsl:choose>
<!-- Если внешняя ссылка -->
<xsl:when test="is_external_link=1">
<xsl:value-of disable-output-escaping="yes" select="external_link"/>
</xsl:when>
<!-- Иначе если внутренняя ссылка -->
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="link"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">
<li class="active">
<div class="cornerLeft"></div>
<div class="cornerRight"></div>
<a href="{$link}" title="{name}" class="active">
<xsl:value-of disable-output-escaping="yes" select="name"/></a>
</li>
</xsl:when>
<!-- Иначе обычный вывод с пустым стилем -->
<xsl:otherwise><li><a href="{$link}" title="{name}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a></li></xsl:otherwise>
</xsl:choose>
</xsl:if>
<!-- Если не показывать ссылку - выводим просто имя ссылки -->
<xsl:if test="show_link=0">
<li>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</li>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Есть два вопроса которые не могу понять!
1) Если выводятся группы ИС то как выделить текущую? В моем шаблоне проверка сделана только на узлы структуры (выделил жирным)
2) Если есть группы ИС то мне не нужно выводить меню из групп, понимаете да что получается.. наверху меню из групп а в спискеЭлементовИС у меня так же выводятся группы.
xml Менюшки на всякий (находимся в корне ИС с группами)
<?xml version="1.0" encoding="windows-1251"?>
<document>
<site site_id="1">
<site_name>site.ru</site_name>
<site_coding>windows-1251</site_coding>
<site_locale>ru_RU.CP1251</site_locale>
<site_chmod>0777</site_chmod>
<site_files_chmod>0777</site_files_chmod>
<site_date_format>%d.%m.%Y</site_date_format>
<site_date_time_format>%d.%m.%Y %H:%M:%S</site_date_time_format>
<site_html_cache_clear_probability>10000</site_html_cache_clear_probability>
<alias alias_id="7" alias_current="0">
<alias_name>site.ru</alias_name>
</alias>
<alias alias_id="10" alias_current="0">
<alias_name>www.site.ru</alias_name>
</alias>
<alias alias_id="8" alias_current="0">
<alias_name>site.ru</alias_name>
</alias>
<alias alias_id="11" alias_current="1">
<alias_name>www.site.ru</alias_name>
</alias>
</site>
<structure id="group_13" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>раз</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/ууууууууууа/</link>
<image>/upload/information_groups_1222618307.jpg</image>
<small_image>/upload/small_information_groups_1222618307.jpg</small_image>
</structure>
<structure id="group_11" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>два</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/ууууу/</link>
<image>/upload/information_groups_1222618093.jpg</image>
<small_image>/upload/small_information_groups_1222618093.jpg</small_image>
<structure id="group_14" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>три</name>
<show>1</show>
<show_link>1</show_link>
<level>1</level>
<id_parent>11</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/clips/ауау/</link>
<image>/upload/information_groups_1222670261.jpg</image>
<small_image>/upload/small_information_groups_1222670261.jpg</small_image>
</structure>
</structure>
<structure id="group_9" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>четыре</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/ауа/</link>
<image>/upload/information_groups_1222617814.jpg</image>
<small_image>/upload/small_information_groups_1222617814.jpg</small_image>
</structure>
<structure id="group_10" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>пять</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/аууу/</link>
<image>/upload/information_groups_1222617936.jpg</image>
<small_image>/upload/small_information_groups_1222617936.jpg</small_image>
</structure>
</document>
<document>
<site site_id="1">
<site_name>site.ru</site_name>
<site_coding>windows-1251</site_coding>
<site_locale>ru_RU.CP1251</site_locale>
<site_chmod>0777</site_chmod>
<site_files_chmod>0777</site_files_chmod>
<site_date_format>%d.%m.%Y</site_date_format>
<site_date_time_format>%d.%m.%Y %H:%M:%S</site_date_time_format>
<site_html_cache_clear_probability>10000</site_html_cache_clear_probability>
<alias alias_id="7" alias_current="0">
<alias_name>site.ru</alias_name>
</alias>
<alias alias_id="10" alias_current="0">
<alias_name>www.site.ru</alias_name>
</alias>
<alias alias_id="8" alias_current="0">
<alias_name>site.ru</alias_name>
</alias>
<alias alias_id="11" alias_current="1">
<alias_name>www.site.ru</alias_name>
</alias>
</site>
<structure id="group_13" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>раз</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/ууууууууууа/</link>
<image>/upload/information_groups_1222618307.jpg</image>
<small_image>/upload/small_information_groups_1222618307.jpg</small_image>
</structure>
<structure id="group_11" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>два</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/ууууу/</link>
<image>/upload/information_groups_1222618093.jpg</image>
<small_image>/upload/small_information_groups_1222618093.jpg</small_image>
<structure id="group_14" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>три</name>
<show>1</show>
<show_link>1</show_link>
<level>1</level>
<id_parent>11</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/clips/ауау/</link>
<image>/upload/information_groups_1222670261.jpg</image>
<small_image>/upload/small_information_groups_1222670261.jpg</small_image>
</structure>
</structure>
<structure id="group_9" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>четыре</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/ауа/</link>
<image>/upload/information_groups_1222617814.jpg</image>
<small_image>/upload/small_information_groups_1222617814.jpg</small_image>
</structure>
<structure id="group_10" menu_id="5">
<current_structure_id>15</current_structure_id>
<name>пять</name>
<show>1</show>
<show_link>1</show_link>
<level>0</level>
<id_parent>0</id_parent>
<is_external_link>0</is_external_link>
<external_link></external_link>
<link>/photo/аууу/</link>
<image>/upload/information_groups_1222617936.jpg</image>
<small_image>/upload/small_information_groups_1222617936.jpg</small_image>
</structure>
</document>
ку
Авторизация