У меня используется набор разных модулей. Одни предназначены для админки, другие для публичной части сайта.
Мне необходимо, чтобы для всех модулей админки использовался один шаблон, а для всех модулей публичной части - другой.
Вставлять в каждый модуль копию шаблона - не вариант. Система наследования тоже не помогает. Как быть?
В данный момент использую следующий механизм:
$eventManager->attach('dispatch', array($this, 'setLayout'), -100);
public function setLayout($e)
{
$matches = $e->getRouteMatch();
$controller = $matches->getParam('controller');
if (0 !== strpos($controller, __NAMESPACE__, 0)) {
// not a controller from this module
return;
}
// Set the layout template
$viewModel = $e->getViewModel();
$viewModel->setTemplate('layout/dashboard');
}
Но из-за этого появляется проблема, в виде невозможности отключить вывод шаблона (
$view->setTerminal(true))