Здравствуйте. Есть ИС со след. структурой:
- Группа1
- Подгруппа1
- (элементы)
- Подгруппа2
- (элементы)
- Подгруппа3
- (элементы)
- Группа2
- (элементы)
- Группа3
- (элементы)
- Группа4
- (элементы)
Нужно вывести их таким образом:
- Группа1
(последние 5 элементов из текущей группы и его подгрупп)
- Группа2
(последние 5 элементов из текущей группы и его подгрупп)
- Группа3
(последние 5 элементов из текущей группы и его подгрупп)
- Группа4
(последние 5 элементов из текущей группы и его подгрупп)
Как это можно реализовать? Поле сортировки элементов - либо date, либо order, это мы еще не решили. Элементов может быть очень много, поэтому я не хотел бы грузить их всех в память (в XML) и отображать средствами XSL последние из них.
Сейчас я временно решил проблему тем, что скопировал типовую динамическую страницу "Информационные Системы" и изменил там следующий кусок:
// файл hostcmsfiles/lib/lib_N.php, примерно строка 144
$property['xml_show_group_type'] = 'all';
/* Отображаем информационную систему */
$_group = ($GLOBALS['INFSYS_result']['group'] == 0) ? false : $GLOBALS['INFSYS_result']['group'];
$InformationSystem->ShowInformationSystem($InformationSystem_id, $_group, $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
В этом временном решении
ВСЕ элементы грузятся в память (в XML), а отображатся последние пять элементов средствами XSL. Посоветуйте, как можно загрузить из БД лишь последние пять элементов групп (
ВАЖНО: в некоторых группах есть подгруппы).