我正在开发一个具有多个用户级别的系统。但是大多数情况下,每个模块中的视图应该是相同的。
例如,用户视图应与管理员视图99%相同,但管理员可以在用户帖子等上添加一些小额外内容,例如删除按钮。
在每个模块中不复制大量模板视图文件的最佳方法是什么?
我能想到的最好的解决方案是使用_base模块并将视图文件放在其中并在其中执行(if($user->isAdmin()
:额外的HTML位)并让用户模块和管理模块呈现基础模块视图?
答案 0 :(得分:0)
如果要在/ module / Application / View / layout /文件夹中创建模板文件(layout.phtml),则将对所有视图应用布局。
如果要禁用某些特定视图的布局,可以这样使用:
public function yourAction() {
$viewModel = new ViewModel(array(
'foo' => 'bar'
));
$viewModel->setTerminal(true);
return $viewModel;
}
答案 1 :(得分:0)
首先需要检查用户是否是管理员然后在视图中您可以使用$ this-> partial()帮助程序调用另一个部分具有删除按钮等代码的视图。