Показ меню сайту
Меню є відображенням структури сайту та виводиться з використанням методуshow()контролера показу структури сайтуStructure_Controller_Show().
Основні налаштування контролера показу задаються через методи:
- menu()- приймає ідентифікатор меню, дізнатися його можна в розділі адміністрування;
- 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 для груп магазину.
У такому випадку замість імені тега структури ми будемо використовувати *.