Вывод ИС в XSL с условием

#
Вывод ИС в XSL с условием
Здравствуйте, уважаемые!
Столкнулся со следующей проблемой, уже третий день не могу справиться.
Суть в следующем:
Есть пункт меню при нажатии на который выводятся все элементы ИС (назовем ее ИС-А)
При этом существует еще 1 информационная система (ИС-Б) в доп. свойствах элементов которой указывается один из элементов ИС-А.
Необходимо организовать вывод при котором срабатывает условие -> должны выводиться только те элементы ИС-Б доп.свойство которых = названию текущего элемента информационной системы.
Как это реализовать? Основная проблема в XLS. Спасибо за помощь!
#
Re: Вывод ИС в XSL с условием
Winkiller писал(а):
должны выводиться только те элементы ИС-Б доп.свойство которых = названию текущего элемента информационной системы
- название текущего инфоэлемента может быть получено по его идентификатору(который будет доступен вам в элементе глобального массива $GLOBALS['INFSYS_result']['item']) методом GetInformationSystemItem класса InformationSystem. После этого полученное название нужно будет передать через один из элементов массива параметров $property['select'] в ShowInformationSystem для выборки только тех инфоэлементов, у которых значение доп. свойства совпадает с переданным названием. Например:
$element = array();
$element['type'] = 1;
$element['prefix'] = ' and (';
$element['property_id'] = 123;
$element['if'] = '=';
$element['value'] = $name;
$element['sufix'] = ')';
$property['select'][] = $element;

В качестве значения элемента $element['property_id'] вместо 123 укажите идентификатор доп. свойства, а переменной $name присвойте название инфоэлемента.
#
Re: Вывод ИС в XSL с условием
natalya,
Спасибо! В принципе понятно. Но тогда появляется еще один вопрос.
Куда этот код засунуть?
Вывод пункта меню осуществляется как "Типовая динамическая страница" или нужно выбрать "Динамическая страница" и организовать вывод ИС от туда? Извините за глупый вопрос, с системой работаю недавно, но научиться очень очень хочется!
#
Re: Вывод ИС в XSL с условием
Пожалуйста.

Winkiller писал(а):
Вывод пункта меню осуществляется как «Типовая динамическая страница»
- если пункт меню - это ссылка на элемент информационной системы, и при переходе по ней пользователь попадает на страницу инфоэлемента, то добавлять этот код нужно в типовой динамическую страницу "Информационная система", которая и используется по умолчанию для разделов сайта, являющихся инфосистемами.
#
Re: Вывод ИС в XSL с условием
natalya,
Спасибо вам еще раз огромное!
Что бы я без вас делал!
#
Re: Вывод ИС в XSL с условием
Winkiller, пожалуйста)

#
Re: Вывод ИС в XSL с условием
natalya,
А еще вопрос, для самообразования...
Если, к примеру, количество информационных систем несколько и количество свойств тоже несколько (каждое с уникальным id), то как быть в таком случае?
Пробовал вот так:

               // Выводим элемент информационной системы
            $property = array ();
$element = array();
$xsl_list='Видео';
$InformationSystemIdArray = array (28,29,30,31,32);
$InformationGroupId = false;
$iname =  $GLOBALS['INFSYS_result']['item'];

$element['type'] = 1;
$element['prefix'] = ' and (';
$element['property_id'] = 19;
$element['if'] = '=';
$element['value'] = $iname;
$element['sufix'] = ')';
$property['select'][] = $element;

$element['type'] = 1;
$element['prefix'] = ' or (';
$element['property_id'] = 18;
$element['if'] = '=';
$element['value'] = $iname;

$element['type'] = 1;
$element['prefix'] = ' or (';
$element['property_id'] = 20;
$element['if'] = '=';
$element['value'] = $iname;

$element['type'] = 1;
$element['prefix'] = ' or (';
$element['property_id'] = 21;
$element['if'] = '=';
$element['value'] = $iname;

$count_condition = 4;

$element['sufix'] = ')';
$property['select'][] = $element;



            $InformationSystem->ShowInformationSystem($InformationSystemIdArray, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
   }


не получается. Извините пожалуйста, обещаю, это последний вопрос по этой теме )
#
Re: Вывод ИС в XSL с условием
Вместо:
$InformationSystem->ShowInformationSystem($InformationSystemIdArray, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);

используйте:
$InformationSystem->ShowInformationSystem($InformationSystemIdArray, $InformationGroupId, $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);

Включите показ SQL-запросов(см. стр. 8 нашего руководства по интеграции) для клиентской части сайта и посмотрите запрос, генерируемый системой для этого вызова ShowInformationSystem.
Авторизация