Вывод ИС списком (Группа и все ее елементы)

Модератор
#
Re: Вывод ИС списком (Группа и все ее елементы)
Puma писал(а):
ну так и что надо где написать?

Вам нужно при нахождении в подгруппах выводить из подгрупп?
Тогда есть примеры:
http://www.hostcms.ru/forums/17/2045/
http://www.hostcms.ru/forums/17/1150/page-2/ Сообщение от Натальи 26.03.2008 10:35:09
#
Re: Вывод ИС списком (Группа и все ее елементы)
нет не так
мне нужно чтобы в своей подгруппе выводились только элементы этой подгруппы!! больше ничего не надо
в корне выводятся под названием каждой подгруппы элементы этой подгруппы (а в если зайти в саму подгруппу, о там пусто!!!!!)

вот попробуйте зайти в подраздел Йоркширские терьеры - там пусто
http://biver-york.ru/dogs/
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Вывод ИС списком (Группа и все ее елементы)
подскажите
т.к. код типовой щас не такой как раньше
как правильно заменить тот кусок кода что Ivanov делал?
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Вывод информационной системы деревом (списком): группы + подгруппы + элементы
Привожу XSL-шаблон для отображения дерева. Из него можно трансформировать что угодно. Пример работает с типовой информационной системой, которая актуальна сейчас. Реализовано здесь: http://www.portugues.pro/gramatica/

<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- Список Элементов Инфосистемы с подгруппами и элементами -->
   
   <xsl:template match="/">
      <xsl:apply-templates select="/document"/>
   </xsl:template>
   
   <xsl:template match="/document">
    <xsl:variable name="parent_group_id" select="blocks/parent_group_id"/>
      <ul><xsl:apply-templates select=".//group[@parent_id=$parent_group_id]" mode="groups"/></ul>
   </xsl:template>
   
   
   <xsl:template match="group" mode="groups">
      <xsl:variable name="group_id" select="@id"/>
      <li>
      <xsl:value-of disable-output-escaping="yes" select="name"/>
      <ul><xsl:apply-templates select="group" mode="groups"/></ul>
    <ul><xsl:apply-templates select="/document/blocks/items//item[@group_id=$group_id]"/></ul>
    </li>   
   </xsl:template>
   
   <xsl:template match="blocks/items/item">
      <xsl:variable name="item_id" select="@id"/>
      <li><xsl:value-of disable-output-escaping="yes" select="item_name"/></li>
   </xsl:template>
   
</xsl:stylesheet>
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Вывод ИС списком (Группа и все ее елементы)
хмм
у меня ваш пример не сработал, 3dkvadrat

выводятся только названия групп и все
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Вывод ИС списком (Группа и все ее елементы)
Стандартный вывод дерева проверен и работает. Тоже самое в типовой происходит, только параметры другие в ShowInformationSystem, которые берутся из настроек типовой страницы.

<?php
$InformationSystem = & singleton('InformationSystem');
$InformationSystem->ShowInformationSystem(153, false, 'ШаблонКоторыйСверхуПриведен', 50, 0, array(), array());
?>


Попробуйте добавить перед показом списка в типовой странице.

$property['xml_show_group_type'] = 'all';
<!-- код типовой -->
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);


Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Вывод ИС списком (Группа и все ее елементы)
такс во первых вывожу я не вставкой кода в макет как вы мне пишите
а просто в стурктуре указываю нужную Ис типовую и xsl шаблон
в типовую я не поняла что надо вставить конкретно и куда
у меня одни ошибки вылетают..
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Вывод ИС списком (Группа и все ее елементы)
Если вы виводите данные в шаблоне страницы, а не при помощи типовой динамической страницы, то вставлять так:

<?php
$InformationSystem = & singleton('InformationSystem');
$InformationSystem->ShowInformationSystem(153, false, 'НазваниеШаблонаXSL', 50, 0, array(), array('xml_show_group_type'=>'all'));
?>

Где:
153 - id вашей информационной системы
false - или false (вывод из всех групп) или id группы из которой нужно вывести элементы
50 - количество выводимых элементов
0 - начиная с какого выводить элементы

Всё это есть в API почему вы не читаете его?
http://hostcms.ru/api/HostCMS_5/InformationSystem.html#methodShowInformationSystem
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Вывод ИС списком (Группа и все ее елементы)
в шаблоне я тоже ничего не вывожу

в шаблоне только текущая страница
текущая страница и есть отображение ИС
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Вывод ИС списком (Группа и все ее елементы)
вообщем у меня все получилось благодаря техподдержке

в типовой надо заменить теперь:

вместо:
/* Отображаем информационную систему */
      $InformationSystem->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
   


используйте:

// Находимся в корне информационной системы
if ($GLOBALS['INFSYS_result']['group'] == 0)
{
$external_propertys=array();
$external_propertys['ОтображатьСсылкуНаАрхив']=0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы']=0;
/* Количество выводимых элементов */
$param['xml_show_group_type'] = 'all';
$item_count = 999;
$InformationGroupId = false;
$InformationSystem->ShowInformationSystem($InformationSystem_id, $InformationGroupId,'XSL-шаблон, для отображения групп со списком элементов для каждой из групп',$item_count,0,$external_propertys, $param);
}
else // Находимся НЕ в корне - стандартный показ информационной системы
{
/* Отображаем информационную систему */
$InformationSystem->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
}
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
Авторизация