因此,我可以在控制器中编写代码以影响视图...
layout.phtml读取什么代码?
(我假设使用module.php,但我需要一些反馈)

编辑:
要清楚...在我的控制器中,我可以获取一个等于某变量的变量并在我的视图中访问它。我想在布局中发现类似的操作。

谢谢

最佳答案

您会在此单个帖子中提出各种问题。我将尝试解决其中的一些问题。

布局如何工作?

在Zend Framework 2中,存在“视图模型”的概念。视图模型是一个具有几个变量和一个分配的模板的对象。该模板使用给定的变量呈现。

此外,您可以嵌套视图模型。因此,一个视图模型(“布局”)有一个从您的控制器创建的子级。子级被渲染并作为变量存储在父级视图模型中。此变量的名称称为“捕获到”。

发生的情况是,您有一个控制器,然后创建了视图模型。该视图模型作为子视图模型插入到新模型(即布局)中。该子项的“捕获到”设置为content。因此,在布局中,子视图模型的结果将插入到$content变量中。

如何访问控制器中的布局变量?

有一个layout控制器插件,可让您直接访问布局视图模型。因此,您可以直接在此处设置变量:

public function indexAction()
{
    $this->layout()->setVariable('foo', 'bar');
}


然后$foo在布局中回显bar

如何在视图脚本中访问布局变量?

有一个layout视图帮助器,它也使您可以直接访问布局视图模型。因此,您也可以在此处设置变量:

<?php $this->layout()->foo = 'bar';?>


然后$foo在布局中回显bar

09-10 15:21
查看更多