Здравствуйте коллеги и сочувствующие.
Появилась необходимость вывести список элементов инфо системы услуги в каждом элементе используя ТДС.
В ТДС Информационной системы, во вкладке "Код страницы"
перед контроллером
$Informationsystem_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName($xslName)
)
->itemsProperties(TRUE)
->groupsProperties(TRUE)
->show();
Мы вставляем вот это:
if ($Informationsystem_Controller_Show->item) {
$oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', $Informationsystem_Controller_Show->item);
// Текущая группа
$cur_group = $oInformationsystem_Item->informationsystem_group_id;
// Текущая инфо система
$cur_id = $oInformationsystem_Item->informationsystem_id;
// SELECT * FROM informationsystem_Items WHERE informationsystem_Items.id = $cur_id ORDER BY informationsystem_Items.id
$oCore_QueryBuilder_Select = Core_QueryBuilder::select()
->select('informationsystem_items.path','informationsystem_items.name','informationsystem_items.id')
->from('informationsystem_items')
->where('informationsystem_items.informationsystem_id', '=', $cur_id)
->where('informationsystem_items.informationsystem_group_id', '=', $cur_group)
->where('informationsystem_items.deleted', '=', '0')
->where('active', '=', 1)
->clearOrderBy()
->orderBy('id');
$all_items = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();
foreach ($all_items as $items)
{
$Informationsystem_Controller_Show
->addEntity(Core::factory('Core_Xml_Entity')
->name('all_items')
->addEntity(Core::factory('Core_Xml_Entity')
->name('items_name')
->value($items['name']))
->addEntity(Core::factory('Core_Xml_Entity')
->name('items_path')
->value($items['path']))
);
}
}
В шаблоне xsl мы вставляем вот такой код:
<xsl:variable name="link_path" select="/informationsystem/url" />
<ul>
<xsl:for-each select="/informationsystem/all_items">
<li><a href="{$link_path}{items_path}"><xsl:value-of disable-output-escaping="yes" select="items_name"/></a></li>
</xsl:for-each>
</ul>
И наслаждаемся отображением имен и ссылками на все информационные элементы.
Спасибо тех. поддержке Hostcms, без нее, я бы код не допилил.
PS
Работоспособность проверена только на элементах инфо системы в корне информационной системы. Для групп наверное надо будет допиливать php запрос.