Yii 检索并在变量中存储一个 renderPartial 文件

标签 yii

我在 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/

相关文章:

yii - 别名 "ext.components.MyClass"无效。确保它指向一个现有的 PHP 文件并且该文件是可读的

php - yii 调用身份验证访问规则部分中未定义的方法

php - 在 Yii 中验证并保存上传的 ajax 图像

php - Yii select2具体数据

php - 如何更改CDetailView的css?

php - Yii zii.widgets.CDetailView - 将属性输出为 HTML 代码格式

php - 如何在yii2中设置默认 Controller

php - 带有 <ul> 标签的 Yii CListView

php - Yii错误摘要默认消息更改

php - Yii 中的 session