Вся структура сайта на одной странице

#
Вся структура сайта на одной странице
Здравствуйте. Как правильно вывести содержимое всех корневых узлов структуры сайта на одной странице, например, магазин, под ним новости, а под ним контакты?

Я взял 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, верно?
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
#
Re: Вся структура сайта на одной странице
Если у вас будет большое количество групп/товаров то возникнут проблемы с производительностью при выводите всего этого на одной странице. Так же возможно оптимальнее будет выводить все отдельными контроллерами для более гибкой настройки.

В контроллере Structure_Controller_Show стандартно не выводит содержание документов. Можете добавить документы через хук или унаследовать контроллер и внести изменения.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Вся структура сайта на одной странице
Понял вас! Спасибо.
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
#
Re: Вся структура сайта на одной странице
строчку
->menu(3)

можете убрать, чтоб выводилось из всех меню
а не из одного
Email: golden-puma@yandex.ru; Skype: golden_puma; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Вся структура сайта на одной странице
Puma писал(а):

строчку ->menu(3)
можете убрать, чтоб выводилось из всех меню
а не из одного

Спасибо , она действительно в данном случае не нужна. Там и параметры будут использоваться не все, лишь самые необходимые.
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Авторизация