Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент

#
Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
Здравствуйте! Помогите пожалуйста...  Имеется сайт, на сайте есть много материалов. Материалы лежат в одной инфосистеме и разбиты по группам.

Когда человек заходит в определенный материал (элемент ИС, принадлежащий к какой-то группе) - хочется в случайном порядке выводить этому человеку предложение почитать материалы, которые могут быть ему интересны (рандомные 5 элементов ИС из этой же группы, что и читаемый на данный момент материал). Подскажите пожалуйста, как это сделать?

Стандартный код выводит в случайном порядке вообще все элементы определенной инфосистемы, вне зависимости от группы, в которой находится открытый элемент ИС...
#
Re: Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
http://hostcms.ru/api/HostCMS_5/InformationSystem.html#methodShowInformationSystem

вторым параметром передается ID группы из которых выводить, или false если выводить из всех групп
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
toasterec писал(а):
http://hostcms.ru/api/HostCMS_5/InformationSystem.html#methodShowInformationSystem

вторым параметром передается ID группы из которых выводить, или false если выводить из всех групп


Кхм... У меня в инфосистеме 50 групп. Если я напишу какой-то один ID группы, то пользователю будут выводиться в случайном порядке только элементы из той группы, ID которой я прописал, правильно?

В моем случае необходимо, чтобы если пользователь зашел, например, в элемент из первой группы - сайт ему предложил почитать еще 5 рандомных элементов из первой группы. Если зашел человек в какой-то элемент, который относится к 16 группе - ему вывелось еще 5 элементов из 16й группы.

Если я пропишу статичный ID, то человек что в 16-ю группу зайдет, что в 22-ю - рандомные элементы ему будут выводиться только из той группы, ID которой я вписал руками... если я все правильно понял
#
Re: Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
и да и нет,

если укажите группу вручную то и показываться будут элементы только этой группы,

а если использовать
$GLOBALS['INFSYS_result']['group']

то будем знать текущую группу
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
Большое спасибо, все работает как надо!

Правда теперь другая накладка: блок со списком случайных элементов группы отображается не только на странице просмотра элемента инфосистемы, но и на странице со списком элементов группы...

Подскажите, может быть можно вот этот код вставить в xsl шаблон, отвечающий за вывод отдельного элемента ИС? Или может проверку как-то можно организовать, чтобы блок с рекомендуемыми к просмотру материалами предлагался только если посетитель сайта читает материал, а не смотрит список материалов какойто группы?


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

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

$item_count = 5;

$InformationSystemId = 30;

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

$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId,'Рандом',$item_count,0,$external_propertys, $property);  
?>
#
Re: Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
по аналогии проверочкой

if ($GLOBALS['INFSYS_result']['item'] !== false)
{
   // выводим список рандомных материалов
}
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Вывод случайного элемента инфосистемы из той же группы, что и текущий элемент
Огромное спасибо
Авторизация