ZendFramework-2.4 源代码 - 关于MVC - View层 - 在模板内渲染子模板

Posted ~~逍遥~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZendFramework-2.4 源代码 - 关于MVC - View层 - 在模板内渲染子模板相关的知识,希望对你有一定的参考价值。

 

<?php
// 方式一:
// 1.在模板内直接编写如下内容即可
$viewModel = new ViewModel();
$viewModel->setTemplate(‘album/album/subtemplate‘); // 使用模板,可以不用设置,会自动识别
$viewModel->setVariables($this->vars());
$viewModel->setVariable(‘var12subtpl‘, ‘var12subtpl_value‘);
echo $this->render($viewModel);

// 方式二: 
// 1.在控制器的方法中编写如下内容
class Ctrl1Controller extends AbstractActionController
{
    public function action1Action(){
        // 模板
        $data = array(
            ‘key1‘ => ‘key1value‘,
        );
        $viewModelTop = new ViewModel($data);
        $viewModelTop->setTemplate(‘module1/ctrl1/action1‘); // 使用模板,可以不用设置,会自动识别
        $viewModelTop->setTerminal(false); // false表示使用布局模板,默认是false
        $viewModelTop->setCaptureTo(‘content‘); // 放入布局文件的中的变量中
        $viewModelTop->setVariables(array(
            ‘childrenStr‘=>‘‘
        ));
    
        // 子模板
        $viewModelSub = new ViewModel($data);
        $viewModelSub->setTemplate(‘module1/ctrl1/action1sub‘);
        $viewModelTop->addChild($viewModelSub,‘childrenStr‘,true);
        return $viewModelTop;
    }
}
?>
// 2.在控制器的方法模板中编写如下内容
// 文件module1/ctrl1/action1.phtml
<div>
hello,this is action tpl content,and the subtpl content is : <?php echo $childrenStr; ?>
</div>

 

以上是关于ZendFramework-2.4 源代码 - 关于MVC - View层 - 在模板内渲染子模板的主要内容,如果未能解决你的问题,请参考以下文章

ZendFramework-2.4 源代码 - 关于MVC - Model层

ZendFramework-2.4 源代码 - 关于MVC - View层 - 控制器返回值

ZendFramework-2.4 源代码 - 关于MVC - View层 - 视图渲染器视图插件管理器

ZendFramework-2.4 源代码 - 关于MVC - View层 - 在模板内渲染子模板

战地1控制台怎么关

网络安全实验室2.基础关