kohana kostache частичная логика
Начал проект с использованием kostache.
В моем классе View_Layout есть несколько частей, таких как banner, navigatons и footer с extends kostache_layout. Частичные отлично работают на каждой странице.
Одна проблема. Навигация показывает всегда одинаковые ссылки. Моя цель - показать ссылки, которые соответствуют пользователю, который вошел в систему. Как я могу поставить логику в части навигации? Я знаю, что могу писать функции в классе View_Layout, но View_Layout должен знать роль пользователя?
Надеюсь, кто-нибудь может мне помочь.
2 ответа
В усах, частично наследуются от стека переменных окружающего шаблона. Вы должны будете сделать эту логику в своем классе представления. Если на разных страницах нужны разные ссылки, сделайте это в своем классе просмотра.
Вариант 1: развить свои взгляды
Лучший вариант - расширить возможности ваших представлений. На самом деле в шаблонах, основанных на MVC, представления должны быть экземплярами, которые обрабатывают логику пользовательского интерфейса и могут выбирать, из каких (обычно более одного) шаблонов создать ответ. Если этот ответ даже должен быть HTML ... возможно, будет достаточно простого заголовка HTP.
Набор инструментов по умолчанию в Kohana ориентирован на очень простые варианты использования, но его можно расширить.
Моя рекомендация - начать использовать полностью реализованные представления.
Вариант 2: использовать HMVC
Кроме того, вы можете использовать возможности HMVC в Kohana. Это будет означать, что у вас есть один или несколько "главных контроллеров", которые затем создают подзапросы. Ответы на эти запросы передаются в / привязаны к шаблону, который контролирует контроллер.
В вашем конкретном случае меню будет управляться отдельным субконтроллером.