Yii2: Как отправить данные за пределы $ модели? - PullRequest
0 голосов
/ 30 ноября 2018

Я использую Yii2 для отправки формы с одной моделью, используя эту кнопку отправки из представления на свой контроллер:

<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>

Также необходимо отправлять логическую переменную в контроллер, когда кнопка нажата, но яне знаю, как включить его вне модели.

Я могу разрешить его, определив Html :: hiddenInput () , но он будет включать новый скрытыйполе в $ модель.

1 Ответ

0 голосов
/ 30 ноября 2018

Насколько я понимаю, вам нужно знать, когда пользователь нажал кнопку отправки, поэтому вы должны установить атрибут name для кнопки отправки.Вы можете установить этот атрибут в настройках.Пример для вашего вопроса

Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary','name'=>'submit-btn','value'=>($model->isNewRecord? 'create' : 'update')])

для получения дополнительной информации прочитайте эту ссылку submitButton или submitInput .

Для запроса дескриптора в контроллере используйте Yii :: $ app-> request-> post () :

Пример:

$post = Yii::$app->request->post();
if(isset($post['submit-btn']) && ($post['submit-btn'] == 'create')){
       /** Your Code */ 
}
...