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. Это будет означать, что у вас есть один или несколько "главных контроллеров", которые затем создают подзапросы. Ответы на эти запросы передаются в / привязаны к шаблону, который контролирует контроллер.

В вашем конкретном случае меню будет управляться отдельным субконтроллером.

Другие вопросы по тегам