Yii2。 ActiveFrom。将GET-param添加到没有模型数组

时间:2016-10-28 16:28:06

标签: php yii2 active-form

我只想将GET-param添加到用户的URL中。 我使用第三方模块操作,所以我不想更改

的签名
public function actionReset($id, $code)

我在控制器中有这样的模型

$model = new DynamicModel([
    'code'
]);
$model->addRule(['code'], 'required');
$model->addRule(['code'], 'string');

这样的ActiveForm

<?php $form = ActiveForm::begin([
    'method' => 'get',
    'action' => [
        \yii\helpers\Url::current()
    ]
]) ?>

<?php echo $form->field($model, 'code')->textInput()->label(false); ?>

<?php echo Html::submitButton(Yii::t('user', 'Continue')); ?>

<?php ActiveForm::end(); ?>

通过这样的实现,它传递了一个数组包装器:

enter image description here

是否可以避免使用没有自定义js的包装器?

2 个答案:

答案 0 :(得分:2)

可能是您可以在activeForm配置中指定它

       <?php $form = ActiveForm::begin([
          'method' => 'get',
          'action' => [
              \yii\helpers\Url::current(), 'your_att' => $your_value
          ]
      ]) ?>

或以数组格式

      <?php $form = ActiveForm::begin([
          'method' => 'get',
          'action' => [
              \yii\helpers\Url::current(), ['your_att' => $your_value],
          ]
      ]) ?>

答案 1 :(得分:0)

我找到了答案here

现在我的视图代码看起来像

            <?=Html::beginForm(Url::current(), 'get', ['csrf' => false]);?>
            <?=Html::input('text', 'code', 'test')?>

            <?=Html::a('Submit', '', [
                'data' => [
                    'method' => 'get',
                ]
            ])?>
            <?=Html::endForm();?>