Показ меню сайту

Меню є відображенням структури сайту та виводиться з використанням методуshow()контролера показу структури сайтуStructure_Controller_Show().

Основні налаштування контролера показу задаються через методи:

  1. menu()- приймає ідентифікатор меню, дізнатися його можна в розділі адміністрування;
  2. xsl()- приймає об'єкт Xsl_Model.

У наведеному прикладі здійснюється створення екземпляра класуStructure_Controller_Showта виклик методуshow(), з попередньою передачею контролеру ідентифікатора меню для показуmenu(1)та вказівкою XSl шаблонуxsl(Core_Entity::factory('Xsl')->getByName('Верхнє Меню')).

Меню сайту може бути представлене наступною структурою:

Як бачимо, меню обрамлено блок

, всередині меню кожен розділ є блоком … .

Поточний активний розділ меню виділяється за допомогою застосування класу current до вузла .

Переглянути XML, що створюється системою, можна в клієнтському розділі за допомогою кнопки на верхній панелі.

Загальна структура XML-документу структури сайту:

XSL-шаблон для відображення меню представленої структури:

Показ у меню груп та інформаційних елементів

Контролер показу структури дозволяє виводити в XML інформацію про пов'язані з вузлами структури групи та інформаційні елементи. Зверніть увагу, увімкнення показу груп та елементів при великій кількості останніх може сповільнити генерацію сторінки.

Увімкнення показу груп здійснюється через ->showInformationsystemGroups(TRUE) , показ пов'язаних інформаційних елементів через ->showInformationsystemItems(TRUE)

Показ у меню груп магазину та товарів

Контролер показу структури дозволяє виводити в XML інформацію про пов'язані з вузлами структури групи магазину та товари. Зверніть увагу, включення показу груп та товарів при великій кількості останніх може сповільнити генерацію сторінки.

Увімкнення показу груп магазину здійснюється через ->showShopGroups(TRUE) , показ пов'язаних товарів через ->showShopItems(TRUE)

XSL-шаблон для виведення пов'язаних інформаційних систем та магазинів

При виведенні у структурі сайту пов'язаних елементів, теги цих елементів відрізнятимуться від тега structure:

  • informationsystem_item для інформаційних елементів;
  • informationsystem_group для інформаційних груп;
  • shop_item для товарів;
  • shop_group для груп магазину.

У такому випадку замість імені тега структури ми будемо використовувати *.