Yii2 › Как сохранить html вывод представления _form в строковую переменную

Я хочу сохранить обработанный html-вывод представления формы, который использует ActiveForm и Html Helper, в переменную в моем контроллере.

Я пытался сохранить результат renderPartial непосредственно в переменную, что не сработало:

$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(); ?>

Если у кого-то есть идея решения, это было бы здорово.


person Trevor    schedule 10.03.2016    source источник


Ответы (1)


Я пробовал этот способ в простом ControllerAction и работал правильно... в var_dump($test) есть аспектированный результат

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

}
person scaisEdge    schedule 10.03.2016