2016-10-28 36 views
1

Я хочу просто добавить GET-param к URL-адресу от пользователя. Я использую действие третьего модуля партии, так что я не хочу, чтобы изменить подпись, котораяYii2. ActiveFrom. Добавить 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?

ответ

0

Я нашел ответ here

Теперь мой взгляд код выглядит

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

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

Может быть, вы можете указать в конфигурации 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], 
      ] 
     ]) ?> 
+0

да, но я хочу взять данные от пользователя. Я нашел решение. Я отправлю его в ближайшее время. –