Yii2 renderDynamic不能用于设置表单

时间:2015-06-14 17:14:40

标签: php caching yii2

我在页面上有一个表单,我正在使用页面缓存,我需要动态呈现表单的顶部,以便每次都更改csrf标记,但是当我将此代码放入

<?php $this->renderDynamic('return $form = ActiveForm::begin();'); ?>

我在此行收到此错误Call to a member function field() on a non-object

<?= $form->field($model, $NBAteam['id'])->checkBox(['label' => NULL, 'data-seed' => $NBAteam['seed']]) ?>

我也在Apache错误日志Class 'ActiveForm' not found

中收到此错误

1 个答案:

答案 0 :(得分:0)

我找到了一种解决方法,renderDynamic似乎与Yii小部件无关。所以我在从缓存加载页面后使用jQuery来修改csrf标记的值。

$this->registerJs("$(document).ready(function(){
    $('input[name=_csrf]').val('".$this->renderDynamic('return Yii::$app->request->csrfToken;')."');
});", View::POS_END);