Для того, чтобы решить Вашу задачу, необходимо заменить код динамич. страницы на следующий:
<?php
// Число отображаемых комментариев
$count_coments = 1;
//Здесь поставьте код информационной системы, комментарии к элементам которой отображаете
$information_system_id = 1;// Идентификатор информационной системы
$DataBase = & singleton('DataBase');
$information_system = & singleton('InformationSystem');
$xmlData = '<?xml version="1.0" encoding="windows-1251"?>' . "\n";
$xmlData .='<document>' . "\n";
$query = "SELECT SQL_CALC_FOUND_ROWS comment_table.* FROM comment_table LEFT JOIN `information_items_table` ON comment_table.information_items_id = information_items_table.information_items_id WHERE 1 AND comment_status = '1' AND information_items_table.information_systems_id = '$information_system_id' ORDER BY comment_date DESC LIMIT 0, $count_coments";
$result = $DataBase->select($query);
// Определим количество элементов
$result_select_count_comments = $DataBase->select("SELECT FOUND_ROWS() as count");
if ($information_system->cm === false)
{
$information_system->cm = array();
}
// Определим количество элементов
$result_select_count_comments = $DataBase->select("SELECT FOUND_ROWS() as count");
$count_array = mysql_fetch_assoc($result_select_count_comments);
if ($count_array)
{
$information_system->count_comments = $count_array['count'];
}
else
{
$information_system->count_comments = 0;
}
while ($row = mysql_fetch_assoc($result))
{
$information_system->cm[$row['comment_id']] = $row;
}
$xmlData .= '<item_comments>'."\n";
/* Суммарная оценка*/
$grade_sum = 0;
/* Число оценок*/
$grade_count = 0;
$information_system->grade_sum = 0;
$information_system->grade_count = 0;
$count_comment_item = count($information_system->cm);
reset($information_system->cm);
// Массив идентификаторов элементов, для которых заданы комментарии
$mas_items = array();
// Вызываем для 0-го уровня (далее идет рекурсивно внутри GetXmlForOneComment)
if (count($count_comment_item) > 0)
{
foreach ($information_system->cm as $comment_id => $cm_row)
{
$xmlData .= '<item_comment>' . "\n";
$xmlData .= $information_system->GetXmlForOneComment($comment_id);
$xmlData .= '</item_comment>' . "\n";
// В массиве информационных элементов нет идентификатора элемента, к которому принадлежит текущий комментарий
if (!in_array($cm_row['information_items_id'], $mas_items))
{
// Добавляем информционный элемент в массив
$mas_items[] = $cm_row['information_items_id'];
}
}
}
// Средняя оценка
if ($information_system->grade_count > 0)
{
$average_grade = $information_system->grade_sum / $information_system->grade_count;
}
else
{
$average_grade = 0;
}
$mod = $average_grade - intval($average_grade);
$average_grade = intval($average_grade);
if ($mod >= 0.25 && $mod < 0.75)
{
$average_grade += 0.5;
}
elseif ($mod >= 0.75)
{
$average_grade += 1;
}
// Общее количество комментариев
$xmlData .= '<count_comments>'.intval($information_system->count_comments).'</count_comments>'."\n";
// Суммарная оценка
$xmlData .= '<grade_sum>'.$information_system->grade_sum.'</grade_sum>'."\n";
// Общее число оценок
$xmlData .= '<grade_count>'.$information_system->grade_count.'</grade_count>'."\n";
$xmlData .= '<average_grade>'.$average_grade.'</average_grade>'."\n";
$xmlData .= '</item_comments>'."\n";
// Получаем информацию об информационной системе
$xmlData .= '<information_system>' . "\n";
$xmlData .= $information_system->GenXml4InformationSystem($information_system_id);
$xmlData .= '</information_system>' . "\n";
$xmlData .= '<items>' . "\n";
// В цикле получаем информацию о информационных элементах
foreach ($mas_items as $key => $value)
{
$information_item_row = $information_system->GetInformationSystemItems($value);
$path_item = $information_system->GetPathItem($value, '');
$xmlData .= '<item id="' . $value . '">' . "\n";
// Название информационного элемента
$xmlData .= '<item_name>' . $information_item_row['information_items_name'] . '</item_name>' . "\n";
// Путь к информационному элементу
$xmlData .= '<item_path>' . $path_item . '</item_path>' . "\n";
$xmlData .= '</item>' . "\n";
}
$xmlData .= '</items>' . "\n";
$xmlData .='</document>' . "\n";
// Распечатаем результат
// echo nl2br(htmlspecialchars($xmlData));
$xsl_name = 'ВыводКомментриев';
$xsl = new xsl();
echo $xsl->build($xmlData, $xsl_name);
?>
А также поменять XSL для отображения комментариев на приведенный ниже
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:template match="/">
<xsl:apply-templates select="/document"/>
</xsl:template>
<xsl:template match="/document">
<!-- Отображаем комментарии -->
<xsl:apply-templates select="item_comments/comment"/>
</xsl:template>
<!-- Вывод строки со значением свойства -->
<xsl:template match="item_comments/comment">
<xsl:variable name="information_item_id" select="@information_item_id" />
<p>
<!-- Ссылка на информационный элемент -->
<a href="{/document/information_system/url}{/document/items/item[@id = $information_item_id]/item_path}"><xsl:value-of disable-output-escaping="yes" select="/document/items/item[@id = $information_item_id]/item_name" /></a>
<br />
<!-- Дата/время добавления комментария -->
<xsl:value-of select="comment_datetime"/>
<!-- Ссылка на e-mail автора комментария -->
<a href="mailto:{comment_email}">
<xsl:value-of select="comment_fio"/>
</a>
<br/>
<!-- Текст комментария -->
<xsl:value-of select="comment_text" disable-output-escaping="yes"/>
</p>
</xsl:template>
</xsl:stylesheet>