Меню из ИС

#
Меню из ИС
Уважаемые, подскажите пожалуйста как сделать древовидное меню из групп и элементов на версии 6.

Модератор
#
Re: Меню из ИС
Вы хотите показать все элементы и группы сразу в меню?
#
Re: Меню из ИС
Да. Первый уровень это группы а второй уровень меню это элементы.
Модератор
#
Re: Меню из ИС
Dremlin,
у контроллера устанавливаете в качестве группы FALSE, режим генерации all, limit в 9999, далее на XSL формируете нужное меню.
#
Re: Меню из ИС
как раз проблема в xsl ...можно пример вывода группы и элементов..???
#
Re: Меню из ИС
Ну что никто не может помочь с xsl ?? любоый пример ...для шестерки
Модератор
#
Re: Меню из ИС
Да возьмите XSL от "СписокЭлементовИнфосистемы", удалите лишнее и измените оформление.
PHP-код
<?php
if (Core::moduleIsActive('informationsystem'))
{
   $Informationsystem_Controller_Show = new Informationsystem_Controller_Show(
      Core_Entity::factory('Informationsystem', 1)
   );

   $Informationsystem_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')->getByName('ДеревоНовостей')
      )
      ->groupsMode('all')
      ->itemsForbiddenTags(array('text', 'description'))
      ->group(FALSE)
      ->limit(9999)
      ->show();
}
?>


ДеревоНовостей
<?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="/">
      <xsl:apply-templates select="/informationsystem"/>
   </xsl:template>

   <xsl:template match="/informationsystem">

      <ul>
         <!-- Отображение подгрупп данной группы, только если подгруппы есть и не идет фильтра по меткам -->
         <xsl:apply-templates select="informationsystem_group" mode="groups"/>

         <!-- Отображение записи информационной системы -->
         <xsl:apply-templates select="informationsystem_item[informationsystem_group_id = 0]"/>
      </ul>
   </xsl:template>

   <!-- Шаблон выводит ссылки подгруппы информационного элемента -->
   <xsl:template match="informationsystem_group" mode="groups">
      <li>
         <a href="{url}"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="count">(<xsl:value-of select="items_total_count"/>)</span>
      </li>

      <xsl:variable name="group_id" select="@id" />
      
      <!-- Отображение записи информационной системы текущей группы -->
      <xsl:if test="count(/informationsystem//informationsystem_item[informationsystem_group_id = $group_id])">
         <ul>
         <xsl:apply-templates select="/informationsystem//informationsystem_item[informationsystem_group_id = $group_id]"/>
         </ul>
      </xsl:if>
   </xsl:template>

   <!-- Шаблон вывода информационного элемента -->
   <xsl:template match="informationsystem_item">
      <li>
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="informationsystem_item">
            <xsl:value-of disable-output-escaping="yes" select="name"/>
         </a>
      </li>
   </xsl:template>

</xsl:stylesheet>
#
Re: Меню из ИС
эммм спасибо большое!!
Модератор
#
Re: Меню из ИС
Пожалуйста
#
Re: Меню из ИС
А как теперь выделить активный элемент или группу?
Авторизация