Список категорий+последние новости

#
Список категорий+последние новости
На сайте нужно сделатьь раздел новости. При входе на который отображался бы список каатегорий новостей и например 5 последних новостей из любых категорий (а не только из корня ИС как в стандартном шаблоне).
Сделать такую страницу у меня получилось (в качестве основы взял шаблон Основной+3 новости). Но проблема в том что при входе в подкатегорию нужно чтообы отображались только новости этой подкатегории, а по шаблону ооттображаются еще и последние новости из других категорий.
#
Re: Список категорий+последние новости
Для реализации данного функционала необходимо вносить изменения в типовую динамическую страницу для инфосистемы, которая используется для инфосистемы "Новости". В коде этой тип. дин. страницы после вызова метода $GLOBALS['LA_InformationSystem']->ShowInformationSystem необходимо добавить код:

if($result['group'] == 0)
{
$element['type']=0;
$element['prefix'] = ' and (';
$element['name'] = 'information_items_date';
$element['if'] = '<';
$element['value'] = '9999-12-12 00:00:00';
$element['sufix']=')';
$property['select'][]=$element;
$InformationResult['items_on_page']=5;
$result['group']=false;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 0;
};

$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
#
Re: Список категорий+последние новости
У меня почему то ваш код не заработал. При этом если его просто вставить после вызова $GLOBALS['LA_InformationSystem']->ShowInformationSystem , то два раза выводятся названия категорий и все .

Я перед вызовом добавил проверку
if($result['group'] == 0)
{
$result['group']=false;
};
и все получилось в принципе так как надо.
Спасибо за подсказку.
#
Re: Список категорий+последние новости
dmmrak, почему не заработал код? Было сообщение об ошибке? Что произошло?
То, как сделали Вы, работать будет, но при условии, что инфоэлементы отсортированы по дате(если Вы их пересортируете по другому полю, то последние 5 добавленных элементов, т.е. самые поздние, уже выводится не будут). Кроме того, если Вы в настройках узла структуры "Новости" в качестве значения поля "Число выводимых элементов на страницу" поставите 10, например, то в качестве последних случайных элементов уже будет выводится не 5, а именно 10 элементов.
#
Re: Список категорий+последние новости
С количеством я разобрался уже после тотго как пост написал

Вот смотрите как я делал и что из этого получалось:
1. Типовые динамические страницы // Информационные системы // Информационная система
2. В поле Динамическая страница нащел строку
           $GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list,              $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);

3. После нее добавил ваш код.
4. Сохранил.
Теперь при выводе на сайт в корне ИС у  меня дважды отображается список категорий (что в принципе логично так как два раза вызывается метод).

5. Я стер первый вызов метода и оставил только ваш код.
Список отображается только один раз, но элементы все равно не выводятся.

Я так понимаю какой то глюк в запросе, так как если вместо "AND" в префиксе ставлю "OR", то выводятся 5 элементотв, правда из всех информационных систем.
Не может это происходить из-за разного формата представления дат на вашем сервере и на моем хостине?

И в конце концов я оставил вот такой вариант

/* Отображаем информационную систему */
         
if($result['group'] == 0)
{
$result['group']=false;
$InformationResult['items_on_page']=5;
};
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);


#
Re: Список категорий+последние новости
Прошу меня извинить. Я привела Вам не совсем верные инструкции. Метод
ShowInformationSystem должен вызываться, конечно, только один раз. По поводу запроса: при локальном тестировании все работало корректно. Думаю, самый простой вариант данной реализации необходимо дополнить указанием поля сортировки(чтобы выбор шел только последних добавленных элементов) и запретить показ на след. страницы(т.к. количество ссылок на страницы рассчитывается из значения соответствующего поля из настроек узла структуры), т.е. так:
if($result['group'] == 0)
{
$result['group']=false;
$InformationResult['items_on_page']=5;
$property['OrderField']='information_items_date';
$property['Order'] = 'DESC';
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 0;
};
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
#
Re: Список категорий+последние новости
Ничего страшного, наоборот появился стимул разобраться.
Спасибо за помощь
#
Re: Список категорий+последние новости
А на какой системе вы тестировали? нет ли разницы в формате представления даты в UNIX и Windows системах?
#
Re: Список категорий+последние новости
Я тестировала на windows-системе. Вне зависимости от ОС дата перед сохранением в базу данных приводится к одному и тому же формату.
#
Re: Список категорий+последние новости
А вы решили вопрос?
Я попытался сделать так как описано и в итоге я получил отображение категорий и новостей плюс предупреждение 131 строки
if($result['group'] == 0)

Да и переход в категорию погиб (не переходит в нее).Есть решения?
Авторизация