Сортировка в блоке "новое на сайте"
Приветствую, уважаемые! Совсем недавно начал изучение этой прекрасной CMS и моментально споткнулся на первом же тестовом задании, а именно, никак не могу осуществить сортировку в блоке "Новое на сайте" в обратном порядке. Совсем уже зачитался мануалами и так понял, что понятие "модуль" не тождественно понятию "блока", фигурирующему в моей задаче. Открываю шаблон раздела "Новое на сайте", там следующий код:
<section class="row-1">
<div class="container_12">
<?php
// Вывод строки навигации
$InformationSystem = & singleton('InformationSystem');
// Определяем информацию об информационной системе, связанной с текущим узлом
$InformationSystem_id = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
$param = array();
$external_propertys = array();
// Если с узлом структуры связана ИС
if ($InformationSystem_id)
{
$result = $InformationSystem->GetInformationFromPath($InformationSystem_id, '', false);
// определяем id информационного элемента
if ($result['item'])
{
$item_id = $InformationSystem->GetIdInformationItem($result['item'], $result['group'], $InformationSystem_id);
if ($item_id != 0)
{
$external_propertys['item'] = $item_id;
$param['show_groups'] = true;
$param['show_items'] = array($item_id);
}
}
else
{
$item_id = false;
}
if (is_array($result) && $result['group'] > 0)
{
// Передаем во внешние параметры ID элемента и группы
$external_propertys['group'] = $result['group'];
$param['show_groups'] = true;
}
// Данные для хлебных крошек заполняем только для текущей ИС
$param['show_information_systems'][] = $InformationSystem_id;
}
elseif (class_exists('shop'))
{
$shop = & singleton('shop');
// Определяем информацию о магазине, связанным с магазином
$shop_row = $shop->GetShopWhithStructureId(CURRENT_STRUCTURE_ID, CURRENT_SITE);
if ($shop_row)
{
$result = $shop->GetItemPath($shop_row['shop_shops_id'], '', false);
// определяем id информационного элемента
if ($result['item'])
{
$item_id = $result['item'];
if ($item_id != 0)
{
$external_propertys['item'] = $item_id;
$param['show_shop_groups'] = true;
$param['show_shop_items'] = array($item_id);
}
}
else
{
$item_id = false;
}
if (is_array($result) && $result['group'] > 0)
{
// Передаем во внешние параметры ID элемента и группы
$external_propertys['group'] = $result['group'];
$param['show_shop_groups'] = true;
}
}
}
$structure = & singleton('Structure');
$structure->ShowStructure(false, 'ХлебныеКрошкиСайт17', $param, $external_propertys);
// /Хлебные крошки
?>
<div class="clearfix maxheight">
<div class="box_content maxheight">
<!-- Вызов шаблона для текущей страницы -->
<div style="margin-top: 10px;">
<div class="title">
Новое на сайте
<span></span>
</div>
<ul class="list1">
<?
$InformationSystem = & singleton('InformationSystem');
$InformationSystemId = 16;
$InformationGroupId = false;
$property['xml_show_group_type'] = 'all';
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 18;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 19;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 21;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 32;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 28;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
?>
</ul>
<?
$InformationSystemId = 17;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеФотогалерея', 2, 0);
?>
<div style="clear: both"></div>
</div>
</div>
<div class="box_right maxheight">
<!-- Новости -->
<?php
// Вывод информационной системы
$InformationSystem = & singleton('InformationSystem');
// Количество выводимых элементов
$item_count = 3;
// Код информационной системы
$InformationSystemId = '15';
// Код отображаемой группы инфосистем
$InformationGroupId = false; // false - из всех групп, 0 - из корневой группы
$external_properties = array();
$external_properties['ОтображатьСсылкуНаАрхив'] = 1;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовостейСправаСайт17', $item_count, 0, $external_properties);
?>
</div>
</div>
</div>
</section>
а код этот ужасно смахивает на код примера из мануала, но тут нет ни одного xsl-тега, так что я не знаю, куда же здесь писать что-то типа " <xsl:sort select="@id" order="descending"/> ". Помогите, пожалуйста, разобраться, где в шаблоне страницы что написать, чтобы отсортировать?
<section class="row-1">
<div class="container_12">
<?php
// Вывод строки навигации
$InformationSystem = & singleton('InformationSystem');
// Определяем информацию об информационной системе, связанной с текущим узлом
$InformationSystem_id = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
$param = array();
$external_propertys = array();
// Если с узлом структуры связана ИС
if ($InformationSystem_id)
{
$result = $InformationSystem->GetInformationFromPath($InformationSystem_id, '', false);
// определяем id информационного элемента
if ($result['item'])
{
$item_id = $InformationSystem->GetIdInformationItem($result['item'], $result['group'], $InformationSystem_id);
if ($item_id != 0)
{
$external_propertys['item'] = $item_id;
$param['show_groups'] = true;
$param['show_items'] = array($item_id);
}
}
else
{
$item_id = false;
}
if (is_array($result) && $result['group'] > 0)
{
// Передаем во внешние параметры ID элемента и группы
$external_propertys['group'] = $result['group'];
$param['show_groups'] = true;
}
// Данные для хлебных крошек заполняем только для текущей ИС
$param['show_information_systems'][] = $InformationSystem_id;
}
elseif (class_exists('shop'))
{
$shop = & singleton('shop');
// Определяем информацию о магазине, связанным с магазином
$shop_row = $shop->GetShopWhithStructureId(CURRENT_STRUCTURE_ID, CURRENT_SITE);
if ($shop_row)
{
$result = $shop->GetItemPath($shop_row['shop_shops_id'], '', false);
// определяем id информационного элемента
if ($result['item'])
{
$item_id = $result['item'];
if ($item_id != 0)
{
$external_propertys['item'] = $item_id;
$param['show_shop_groups'] = true;
$param['show_shop_items'] = array($item_id);
}
}
else
{
$item_id = false;
}
if (is_array($result) && $result['group'] > 0)
{
// Передаем во внешние параметры ID элемента и группы
$external_propertys['group'] = $result['group'];
$param['show_shop_groups'] = true;
}
}
}
$structure = & singleton('Structure');
$structure->ShowStructure(false, 'ХлебныеКрошкиСайт17', $param, $external_propertys);
// /Хлебные крошки
?>
<div class="clearfix maxheight">
<div class="box_content maxheight">
<!-- Вызов шаблона для текущей страницы -->
<div style="margin-top: 10px;">
<div class="title">
Новое на сайте
<span></span>
</div>
<ul class="list1">
<?
$InformationSystem = & singleton('InformationSystem');
$InformationSystemId = 16;
$InformationGroupId = false;
$property['xml_show_group_type'] = 'all';
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 18;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 19;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 21;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 32;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
$InformationSystemId = 28;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
?>
</ul>
<?
$InformationSystemId = 17;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеФотогалерея', 2, 0);
?>
<div style="clear: both"></div>
</div>
</div>
<div class="box_right maxheight">
<!-- Новости -->
<?php
// Вывод информационной системы
$InformationSystem = & singleton('InformationSystem');
// Количество выводимых элементов
$item_count = 3;
// Код информационной системы
$InformationSystemId = '15';
// Код отображаемой группы инфосистем
$InformationGroupId = false; // false - из всех групп, 0 - из корневой группы
$external_properties = array();
$external_properties['ОтображатьСсылкуНаАрхив'] = 1;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовостейСправаСайт17', $item_count, 0, $external_properties);
?>
</div>
</div>
</div>
</section>
а код этот ужасно смахивает на код примера из мануала, но тут нет ни одного xsl-тега, так что я не знаю, куда же здесь писать что-то типа " <xsl:sort select="@id" order="descending"/> ". Помогите, пожалуйста, разобраться, где в шаблоне страницы что написать, чтобы отсортировать?
В указанном коде есть несколько вызов методов, которые генерируют XML и применяют к нему XSL-шаблон.
Например:
дальше идет много
потом
Имена XSL-шаблонов подчеркнул, найти их можно в центре администрирования.
Например:
$structure->ShowStructure(false, 'ХлебныеКрошкиСайт17', $param, $external_propertys);
дальше идет много
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовогоНаСайтеСтраница', 9999, 0, $property);
потом
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокНовостейСправаСайт17', $item_count, 0, $external_properties);
Имена XSL-шаблонов подчеркнул, найти их можно в центре администрирования.
Авторизация