кому лень искать выкладываю:
Динамическая страница:
<?php
/* Добавление комментария */
if(isset($_POST['add_comment']) && to_bool($GLOBALS['LA']['ShowComments']))
{
$param['information_items_id'] = to_int($GLOBALS['InformationResult']['item_id']);
/* XSL шаблон для отправки уведомления администратору о добавлении комментария */
$param['admin_email_xsl'] = to_str($GLOBALS['LA']['xsl_admin_email']);
$xsl_add_comment = to_str($GLOBALS['LA']['xsl_add_comment']);
/* Режим добавления комментария. 1 - публиковать сразу, 0 - публиковать после проверки */
if (to_bool($GLOBALS['LA']['TypeAddComment']))
{
$param['status'] = 1;
}
else
{
$param['status'] = 0;
}
$result_add_comment = $GLOBALS['LA_InformationSystem']->ShowAddComment('УведомлениеДобавлениеКомментария', $param);
}
/* Отображаем элемент если не было добавления комментария, или результат добавления комментария отрицательный */
if (!isset($_POST['add_comment']) || isset($result_add_comment) && !$result_add_comment)
{
$InformationSystem_id = to_int($GLOBALS['InformationSystem_id']);
/* XSL шаблон для отображения списка элементов информационной системы */
$xsl_list = to_str($GLOBALS['LA']['xsl_information_system_list']);
/* XSL шаблон для отображения элемента информационной системы */
$xsl_item = to_str($GLOBALS['LA']['xsl_information_item']);
$InformationResult = $GLOBALS['InformationResult'];
/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();
$external_propertys['ОтображатьСсылкуНаАрхив'] = 0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 1;
/* Массив дополнительных параметров */
$property = array();
/* Число элементов на страницу */
if (isset($InformationResult['items_on_page']))
{
if($InformationResult['items_on_page'] !== true)
{
$InformationResult['items_on_page'] = to_int($InformationResult['items_on_page']);
}
}
else
{
$InformationResult['items_on_page'] = 10;
}
/* Номер, с которого начинается показ */
if (isset($InformationResult['items_begin']))
{
$InformationResult['items_begin'] = to_int($InformationResult['items_begin']);
}
else
{
$InformationResult['items_begin'] = 0;
}
/* Метод определения идентификатора информационной группы и идентификатора информационного элемента по значению URI */
$result = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id);
if($result != false)
{
/* Вывод списка */
if($result['item'] == false)
{
/* Отображаем информационную систему */
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
}
else
{
/* Определяем идентификатор информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($result['item'], $result['group']);
if (to_bool($GLOBALS['LA']['ShowComments']))
{
$external_propertys['show_comments'] = '1';
}
else
{
$external_propertys['show_comments'] = '0';
}
/* Выводим элемент информационной системы */
$GLOBALS['LA_InformationSystem']->ShowInformationSystemItem($item_id, $xsl_item, $external_propertys);
}
}
}
?>
Настройки:
<?php
/* ID Информационной системы */
$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);
/* Количество записей на страницу */
$items_on_page = to_int($GLOBALS['LA']['ItemsOnPage']);
$GLOBALS['LA_InformationSystem'] = new InformationSystem();
if($items_on_page !== true)
{
$items_on_page = to_int($items_on_page);
}
$property = to_array($property);
/* Текстовая информация для указания номера страницы, например "страница" */
if (isset($GLOBALS['LA']['page']))
{
$property['page'] = to_str($GLOBALS['LA']['page']);
}
else
{
$property['page'] = 'страница';
}
/* Разделитель в заголовке страницы */
if (isset($GLOBALS['LA']['separator']))
{
$property['separator'] = to_str($GLOBALS['LA']['separator']);
}
else
{
$property['separator'] = ' / ';
}
$GLOBALS['InformationResult'] = array();
/* получаем для пути ассоциативный массив с id группы и id/url элемента для данной инфосистемы */
$result = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id);
/* Если путь существует */
if($result)
{
/* получаем массив с деревом от текущей группы до корня */
$GLOBALS['LA_InformationSystem']->GetInformationGroupsForXml($result['group'], $InformationSystem_id);
$group_path='';
$mas_information_groups_for_xml=$GLOBALS['LA_InformationSystem']->get_mas_information_groups_for_xml();
/* получаем данные о группе */
$group_result=$GLOBALS['LA_InformationSystem']->select_information_groups($result['group'], $InformationSystem_id);
$row_group=mysql_fetch_assoc($group_result);
/* получаем данные из seo - полей для групп */
$seo_title = trim($row_group['information_groups_seo_title']);
$seo_description = trim($row_group['information_groups_seo_description']);
$seo_keywords = trim($row_group['information_groups_seo_keywords']);
/* цикл по массиву с деревом для формирования пути по группам */
for($i = count($mas_information_groups_for_xml)-1; $i >= 0; $i--)
{
/* seo_title для группы пустое, то в заголовок подставляем название */
if(trim($mas_information_groups_for_xml[$i]['information_groups_seo_title'])=='')
{
$group_path.=$property['separator'].$mas_information_groups_for_xml[$i]['information_groups_name'];
}
else
{
$group_path.=$property['separator'].$mas_information_groups_for_xml[$i]['information_groups_seo_title'];
}
}
/* определяем название информационной системы */
$row = $GLOBALS['LA_InformationSystem']->GetInformationSystem($InformationSystem_id);
/* имя информационной системы */
$InformationSystem_name = $row['information_blocks_name'];
/* Если вывод информационного элемента */
if($result['item'])
{
/* определяем id информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($result['item'], $result['group']);
$GLOBALS['InformationResult']['item_id'] = $item_id;
/* получаем данные об элементе */
$row_item = $GLOBALS['LA_InformationSystem']->GetInformationSystemItem($item_id);
/* имя элемента */
$item_name=$property['separator'].$row_item['information_items_name'];
/* проверяем если seo_title непустой, то в заголовок страницы подставляем его */
if(trim($row_item['information_items_seo_title'])!='')
{
$item_name=$property['separator'].trim($row_item['information_items_seo_title']);
}
}
else
{
/* Вывод информационной группы */
/* Определяем номер страницы для показа */
$end_array_item = end($GLOBALS['URL_ARRAY']);
$page = to_str($end_array_item);
if (ereg ("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 0)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
/* Если показываем группу, а не элемент, то указываем страницу (страница N), если она не первая */
$page_number = "{$property['separator']}{$property['page']} {$regs[1]}";
}
else
{
$items_begin = 0;
}
/* Массив, возвращаемый методом */
$GLOBALS['InformationResult']['items_begin'] = $items_begin;
}
/* формируем заголовок страницы */
$new_title = $InformationSystem_name.$group_path.to_str($item_name).to_str($page_number);
}
if(!empty($new_title))
{
/* отображаем группу, если не существует данных об элементе и родительская группа не является корнем */
if(!isset($row_item) && $result['group'] != 0)
{
/* Заголовок для группы задан */
if(!empty($seo_title))
{
$GLOBALS['kernel']->set_title($seo_title);
}
else
{
$GLOBALS['kernel']->set_title($new_title);
}
/* Описание для группы задано */
if(!empty($seo_description))
{
$GLOBALS['kernel']->set_description($seo_description);
}
else
{
$GLOBALS['kernel']->set_description($new_title);
}
/* Ключевые слова для группы заданы */
if(!empty($seo_keywords))
{
$GLOBALS['kernel']->set_keywords($seo_keywords);
}
else
{
$GLOBALS['kernel']->set_keywords($new_title);
}
}
elseif (isset($row_item)) /* отображаем элемент */
{
if(!empty($row_item['information_items_seo_description']))
{
$GLOBALS['kernel']->set_title(trim($row_item['information_items_seo_title']));
}
else
{
$GLOBALS['kernel']->set_title($new_title);
}
/* Описание для элемента задано */
if(!empty($row_item['information_items_seo_description']))
{
$GLOBALS['kernel']->set_description(trim($row_item['information_items_seo_description']));
}
else
{
$GLOBALS['kernel']->set_description($new_title);
}
/* Ключевые слова для элемента заданы */
if(!empty($row_item['information_items_seo_keywords']))
{
$GLOBALS['kernel']->set_keywords(trim($row_item['information_items_seo_keywords']));
}
else
{
$GLOBALS['kernel']->set_keywords($new_title);
}
}
}
$GLOBALS['InformationResult']['items_on_page'] = $items_on_page;
?>