MVC : Несколько контроллеров

m33_nft

Новичок
Здравствуйте, организовал mvc. есть модель которая возвращает результат какого то действия, контроллер, который запускает вызывает это действие и возвращает результат в представление. В качестве представления использую Twig. Тобишь сайт/news/show/2 вызывает модуль news, функцию show с параметром 2. Как в вызвать сразу несколько функций , тобишь есть элементарная потребность в сайдбарах =) которые например показывают список самых обсуждаемых новостей.Или же вызов блока комментариев, это отдельный модуль. Я так полагаю, что писать дополнение к твиг, чтобы вызывать какой то блок из представления не правильно (как в Symfony {% render Module:func:id %} )? Как быть ?
 

fixxxer

К.О.
Партнер клуба
Я бы просто в твиг загонял структуру вида
array( 'sidebars' => array (
'sidebar1' => $Model1->render(),
'sidebar2' => $Model2->render(),
))

и делал в цикле include-ы по имени сайдбара (или по имени модели, которое она рендерит)

Можно сделать наоборот - коллбэки из шаблона, это через Twig_Function сделать легко, но это получатся активные шаблоны, которых лично я предпочитаю избегать по идеологическим соображениям. Но кому-то нравится, почему нет
 
  • Like
Реакции: AmdY

m33_nft

Новичок
Аналог того же сайдбара - вывод комментариев под новостью.

Вы говорите о передаче этого массива "вверху" в главном контроллере? Я склонялся к варианту какого то конструктора, который бы собирал всё по определенному макету, есть какие то макеты?

И не могли бы вы дать какие то примеры Twig_Function и поделиться своими "идеологическими соображениями" почему вам это не нравится ?
 
Сверху