Yii2 > 如何将_form视图的 html 输出存储到字符串变量中


Yii2 > How to store html output of a _form view into a string variable

我想将使用ActiveForm和Html Helper的表单视图的渲染html输出存储到控制器中的一个变量中。

我尝试将渲染部分的结果直接存储到变量中,但没有奏效:

$htmlform = Yii::$app->controller->renderPartial('_form', ['model' => $model]);

我还尝试使用输出缓冲将输出回显到变量中,但我无法存储输出:

ob_start();
echo Yii::$app->controller->renderPartial('_form', ['model' => $model]);
$htmlform = ob_get_contents();
ob_end_clean();

查看文件: _form.php

<?php
use yii'helpers'Html;
use yii'widgets'ActiveForm;
/* @var $this yii'web'View */
/* @var $model frontend'models'Epic */
/* @var $form yii'widgets'ActiveForm */
?>
<div class="epic-form">
    <?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'closed')->textInput() ?>
    <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'organizationid')->textInput() ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') :    Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    </div>
    <?php ActiveForm::end(); ?>

如果有人对解决方案有想法,那就太好了..

我已经在一个简单的控制器操作中尝试了这种方式并正常工作......在var_dump($test)中,有方面的结果

public function actionView($id)
{
    $test =  $this->renderPartial('_form', [
        'model' => $this->findModel($id),
    ]);
    var_dump($test);
}