Вывод на главной странице новостей из двух ИС, находящихся в других разделах.

#
Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
Добрый день!
Есть задача: в двух разделах размещены ИС (Новости и статьи) без групп. Необходимо выводить на главную страницу новостную ленту, состоящую из новых элементов этих двух системы, отсортированную по дате добавления.
Как это можно сделать?
Спасибо.
Модератор
#
Re: Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
flacon00,
при показе ИС можно передавать массив идентификаторов, при этом XSL-шаблон нужно будет немного модернизировать, вместо
      <!-- Отображение записи информационной системы -->
      <xsl:apply-templates select="blocks/items/item[item_status=1]"/>

указываем
      <!-- Отображение записи информационной системы -->
      <xsl:apply-templates select="/document//blocks/items/item[item_status=1]"/>
#
Re: Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
а можно у вас попросить показать XSL целиком где можно указать ИД ИС которые нужно вывести?
как я понимаю, в первом примере будет из всех выводить? а мне нужно из пяти имеющихся выводить только из трех.
спасибо.
#
Re: Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
вроди сами разобрались


$InformationSystemId = 19;

заменили на

$InformationSystemId = array(19,20);
#
Re: Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
теперь новая беда

почему при


                  <?
                  /* Вывод информационных систем */
                  $InformationSystem = & singleton('InformationSystem');

                  $external_propertys=array();
                  $external_propertys['ОтображатьСсылкуНаАрхив']=0;
                  $external_propertys['ОтображатьСсылкиНаСледующиеСтраницы']=0;
                  $property = array();
                  $property['OrderField'] = 'RAND()';
                  /* Количество выводимых элементов */
                  $item_count = 1;

                  $InformationSystemId = array(19,20);

                  $InformationGroupId = false;  // false - из всех групп, 0 - из корневой группы

                  $InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId,'СписокЭлементовИнфосистемы2',$item_count,0,$external_propertys,$property);
                  ?>



всеравно выводятся 2 новости, по 1 из каждой ИС.
т.е. теперь

$item_count = 1;

показывает сколько из каждой ИС выводить?

а нет варианта получше?
например берем в массив все посты из двух ИС а из него уже рандомом берем нужное колличество постов.
а то в предыдущем примере, при любом раскладе, посты первыми идут из ИС находящейся в массиве ИС первой,
т.е. из 19 при таком раскладе
$InformationSystemId = array(19,20);
Модератор
#
Re: Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
Eklmn писал(а):
показывает сколько из каждой ИС выводить?

так и раньше были, там для каждой ИС свой блок.

Отсортируйте все элементы ИС в нужном порядке и берите первые N.
#
Re: Вывод на главной странице новостей из двух ИС, находящихся в других разделах.
Eklmn писал(а):
$InformationSystemId = array(19,20);

вроде бы хорошее решение, но я плохо понимаю, а как тогда новостную ИС для главной страницы привязывать к структуре сайта. В узле структуры требуется код ИС, причем подставить туда можно только уже имеющиеся ИС.
Авторизация