top_parent_id . Также вопрос по выводу подгрупп в 6-ой версии

#
top_parent_id . Также вопрос по выводу подгрупп в 6-ой версии


Переносил с HostCMS 5.x на 6.x информационную систему с подгруппами. Всё перенеслось нормально, вот только есть нюансы. В новой таблице informationsystem_groups существуют несколько новых полей. Одно из них top_parent_id  -- как оно работает и как изменяется? Пробовал самостоятельно создавать новые подгруппы внутри других подгрупп – значение этого поля в таблице БД не изменилось.

Второй вопрос:  при переносе также, естественно, остальись нулевыми поля subgroups_count и subgroups_total_count – критично ли то, что они со значением 0 , при наличии групп и подгрупп в ИС?

И в заключении: как теперь вывести дерево подгрупп от конкретной группы вместе с ее элементами? Не работает. Вод код:

<?php
$staffInformationsystem_Controller_Show = new Informationsystem_Controller_Show(
            Core_Entity::factory('Informationsystem', 15)
         );
         $staffInformationsystem_Controller_Show
            ->xsl(
               Core_Entity::factory('Xsl')->getByName('staffISlist')
            )
        ->itemsProperties(TRUE)
        ->groupsProperties(FALSE)
            ->groupsMode('all')
            ->itemsForbiddenTags(array('text'))
            ->group(32)
            ->limit(1000)
            ->show()
?>


Не выводит дерево начиная с группы 32 (кт. является топовой). Ставил разные параметры groupsMode -- тоже самое. Как теперь вывести всё дерево конкретной группы с ее подгруппами и всеми элементами, но начиная с какой либо группы?

Заранее спасибо за ответ.
#
Re: top_parent_id . Также вопрос по выводу подгрупп в 6-ой версии
По поводу нулевых значений count - заходишь в информационные системы выбираешь все инфосистемы и внизу под списком нажимаешь пересчитать.

А так? У меня по такому принципу выводится.

<?php
$staffInformationsystem_Controller_Show = new Informationsystem_Controller_Show(
            Core_Entity::factory('Informationsystem', 15)
         );
         $staffInformationsystem_Controller_Show
            ->xsl(
               Core_Entity::factory('Xsl')->getByName('staffISlist')
            )
            ->itemsProperties(TRUE)
            ->groupsProperties(FALSE)
            ->groupsMode('none')
            //->itemsForbiddenTags(array('text'))
            ->group(32)
            ->limit(1000)
            ->show()
?>
Модератор
#
Re: top_parent_id . Также вопрос по выводу подгрупп в 6-ой версии
UncleShnyuk писал(а):
Одно из них top_parent_id  -- как оно работает и как изменяется?

Уже не используется и будет исключено с версии 6.2.3.

UncleShnyuk писал(а):
Не выводит дерево начиная с группы 32 (кт. является топовой).

Топовой группой всегда является 0, т.к. выводится дерево. В Вашем примере в XML идут абсолютно все группы (->groupsMode('all'), выводить с нужной необходимо на XSL.
#
Re: top_parent_id . Также вопрос по выводу подгрупп в 6-ой версии
Хорошо, а есть ли решение обычными средствами для такой задачи :
Примерная структура ИС Сотрудники:
(15) Москва
    (40) Отдел 1     
    (43) Отдел 2     
      (50) Под отдел 1     
    (45) Отдел 3     
(21) Санкт-Петербург
    (60) Отдел 1     
    (70) Отдел 2     
      (72) Под отдел 1     
      (75) Под отдел 2     
    (80) Отдел 3   

Требуется вывести например только (21), где в начале будут перечислены все группы и подгруппы (все дерево от 21), а затем перечислены ниже все элементы всех групп и подгрупп (начиная с "корня" 21).

??

Или придётся писать на PHP используя самостоятельно средства API -- QueryBuilder ? Что будет наверное проще и быстрее, но не спортивно в рамках предоставленных возможностей CMS ?

Авторизация