我在 protected/views/directory_controller_name 下有一个 php 文件,格式如下
<p>
<?php echo $model->title;?>
</p>
...
我在 Controller 中使用经典方法显示文件:
$this->render('filename',array('model'=>$model));
但是知道,我需要发送一封具有相同模板/布局的电子邮件,所以我想将文件的渲染存储在一个变量中,例如
$msgHTML = $this->renderInternal('_items', array('model'=>$model));
But it doesn't work!
如何从文件中获取渲染 View 并存储在变量中?
是否可以?
我不想使用:
$msgHTML = '<p>'.$model->title.'</p>'
...
因为文件很长,不想重复代码!!!
最佳答案
不要使用 renderInternal 方法,使用 renderPartial反而。内部渲染是低级方法,不应在此类上下文中使用。要捕获输出,只需将 $return 参数设置为 true:
<?php $output = $this->renderPartial('_subView', $dataArray, true); ?>
关于Yii 检索并在变量中存储一个 renderPartial 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7627562/