Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将值发送到视图?_Php_Zend Framework2 - Fatal编程技术网

Php 如何将值发送到视图?

Php 如何将值发送到视图?,php,zend-framework2,Php,Zend Framework2,我试图使用这段代码向视图(布局+部分)发送一些值(所有这些变量的值都是1) 但是,当我尝试使用此代码echo(isset($this->nbtotalignes)?1:0在视图中显示这些时,我得到了0。如何解决这个问题?每个视图都有自己的范围。 $this->layout()->setVariables为布局而不是当前操作视图设置变量 要将变量发送到当前操作视图,您有2个选项: return array('var1'=>1); zend将自动将其转换为viewmodel。或 $view

我试图使用这段代码向视图(布局+部分)发送一些值(所有这些变量的值都是1)


但是,当我尝试使用此代码
echo(isset($this->nbtotalignes)?1:0在视图中显示这些时,我得到了
0
。如何解决这个问题?

每个视图都有自己的范围。
$this->layout()->setVariables
为布局而不是当前操作视图设置变量

要将变量发送到当前操作视图,您有2个选项:

return array('var1'=>1);
zend将自动将其转换为viewmodel。或

$view = new ViewModel();
$view->setVariables(array('var1'=>1))
return $view;
使用这种方法,您还可以设置不同的模板

$view->setTemplate('a different template path'); 
并选择不渲染布局

$view->setTerminal(true)

因此,
$this->layout()->nbtotalignes
被标记为重复的问题是针对ZF1的,而不是针对ZF2的。@LozCheroneツ, 这不管用!它与我发布的解决方案具有相同的基本原理。我不能从partials中保留它!@timfuntain,非常感谢!!我想说文档很容易回答这个问题,请参见此处的代码示例:什么是模板?不使用默认布局的视图?所有操作(页面)之间共享布局和是页面的结构,但每个动作都有自己的视图布局,称为模板,是添加到主布局的动作的输出
$view->setTerminal(true)