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

Posted

技术标签:

【中文标题】渲染不同的视图脚本,将数据传递给该视图并在 Zend 中获取输出【英文标题】:Render a different view script, pass data to that view and get output in Zend 【发布时间】:2013-10-21 20:12:48 【问题描述】:

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

我知道

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

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

 $this->view->data = $data

但它不会向该脚本发送数据。

谁能指导我怎么做?

【问题讨论】:

(OOT) 只是一个说明,渲染不是默认视图脚本$this->renderScript('report/app-list-xlsx.tpl'); 【参考方案1】:

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

$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

【讨论】:

$htmlcontent = $this->view->render('scorecard/pdfpage5.phtml',array('data'=>$data));在控制器不传递数据。尝试获取为$this-&gt;data; 你在使用 MVC 模式吗? 是的,布局模式

以上是关于渲染不同的视图脚本,将数据传递给该视图并在 Zend 中获取输出的主要内容,如果未能解决你的问题,请参考以下文章

MVC 将数据传递给视图和循环

在 laravel 中使用视图作曲家将数据传递给惯性js

小结vue的视图是如何将数据传递给model

如何通过数组将数据传递给表格视图?

UIPickerView 将数据传递给容器视图

CodeIgniter 将数据传递给视图