Здравствуйте. Как правильно вывести содержимое всех корневых узлов структуры сайта на одной странице, например, магазин, под ним новости, а под ним контакты?
Я взял Structure_Controller_Show и вывел со всеми доступными свойствами, а дальше уже просто поиграться в XSL или TPL. Верное ли это решение, или есть более эффективное?
<?php
// Верхнее меню
$Structure_Controller_Show = new Structure_Controller_Show(
Core_Entity::factory('Site', CURRENT_SITE));
$Structure_Controller_Show->xsl(
Core_Entity::factory('Xsl')->getByName('ВерхнееМеню')
)
->menu(3)
->showProperties(TRUE)
->showInformationsystemGroups(TRUE)
->showInformationsystemItems(TRUE)
->showShopGroups(TRUE)
->showShopItems(TRUE)
->showInformationsystemGroupProperties(TRUE)
->showInformationsystemItemProperties(TRUE)
->showShopGroupProperties(TRUE)
->showShopItemProperties(TRUE)
->show();
?>
И еще вопрос. В XML попадают товары и информационные элементы из динамических страниц — это офигенно, но обычные страницы нет. Т.е в узле хотелось бы увидеть текст документа О компании
<structure_menu_id>3</structure_menu_id>
<template_id>20</template_id>
<data_template_id>0</data_template_id>
<site_id>2</site_id>
<document_id>23</document_id>
<lib_id>0</lib_id>
<parent_id>0</parent_id>
<name>О компании</name>
<seo_title></seo_title>
<seo_description></seo_description>
<seo_keywords></seo_keywords>
<show>1</show>
<sorting>0</sorting>
<path>about</path>
<type>0</type>
<siteuser_group_id>0</siteuser_group_id>
<https>0</https>
<active>1</active>
<indexing>1</indexing>
<changefreq>2</changefreq>
<priority>0.5</priority>
<link>/about/</link>
<dir>/upload/structure_2/1/4/2/structure_142/</dir>
Понимаю, что это разные сущности. Как выход вижу — проверять на тип узла структуры, и если тип выпадает на страницу, то как-то дополнительно получать данные уже из документа по document_id, верно?