Zend用于不同模块的相同模板

时间:2013-12-24 16:28:23

标签: php zend-framework

我正在开发一个具有多个用户级别的系统。但是大多数情况下,每个模块中的视图应该是相同的。

例如,用户视图应与管理员视图99%相同,但管理员可以在用户帖子等上添加一些小额外内容,例如删除按钮。

在每个模块中不复制大量模板视图文件的最佳方法是什么?

我能想到的最好的解决方案是使用_base模块并将视图文件放在其中并在其中执行(if($user->isAdmin():额外的HTML位)并让用户模块和管理模块呈现基础模块视图?

2 个答案:

答案 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()帮助程序调用另一个部分具有删除按钮等代码的视图。