渲染不同的视图脚本,将数据传递给该视图并在 Zend 中获取输出


Render a different view script, pass data to that view and get output in Zend

我想在我的action中呈现一个different视图,将数据从动作传递到该视图并在变量中获取其输出。

我知道那件事

  $output = $this->view->render('path/to/script');

呈现不同的视图脚本并返回输出。但我也想从我的操作将数据传递给这个脚本,但到目前为止还没有成功。我用过

 $this->view->data = $data

但它不会将数据发送到此脚本。

任何人都可以指导我该怎么做吗?

您可以将数据数组传递给视图脚本:

$this->view->render('path/to/script/script', array('someValue' => true)); 

在视图脚本中访问它:

<?= $this->someValue ?>

编辑:在我总是使用的控制器中...

$this->view->assign('someValue', 'data');

编辑:与布局模式...您需要在控制器中为要在布局模板中使用的视图脚本的路径以及要传递给视图的任何变量/数据设置一个变量。

在控制器中:

$this->view->assign('partialPath', 'path/to/partial');
$this->view->assign('partialdata', 'value');

在布局中:

$this->view->render($this->partialPath, $this->partialData) //renders partial and passes data

部分:

<?= $this->partialData ?> // echos data