Во-первых, стили могут различаться по типу (КПКшные, для печати и т.д.) — надо предусмотреть группировку внутри массива $styleFiles.
Во-вторых, ИМХО, нет ничего страшного в подключении стилей из контроллера, более того — там можно один раз в конструкторе прописать нужные стили, например в базовом контроллере добавляем главный файл index.css, в последующем — более специализированный и т.д.
Во-вторых, ИМХО, нет ничего страшного в подключении стилей из контроллера
— данное решение позволяет это делать и в контроллере. Просто как мне кажеться более красиво в шаблоне. Тяжело иногда верстальщику лезть в контроллер.
Я в свое время столкнулся с похожей проблемой. Но решение нашел другое.
Во-первых создал свой абстрактный класс class MyPageView extends View, и основные шаблоны страниц это экземпляры MyPageView.
Кроме того есть некая модель PageHead_Model, которая создается в контроллере и соответственно там наполняется всем что хранится в заголовке: подклюечние стилей, скриптов, метатеги и т.д. Для ее отображения есть свой View, сущетсвующий на каждой странице и создающийся в конструкторе MyPageView.
Двухпроходное View в Kohana