2015-05-06 2 views
0

В настоящее время я изучаю рамки Yii 2.0, и я наткнулся на вопрос. В учебнике я следил за guide here.YII2 - Связывание действий с контроллером на html :: button в представлениях

В контроллере есть действие под названием actionEntry, но нет указания на то, как действие было известно, когда его запускать.

Я попытался создать пользовательский контроллер с действием actionAdd. Он просто отобразит другое представление после его вызова. Ниже фрагмент кода у меня есть:

public function actionAdd() { 
    return $this->redirect('entry', ''); 
} 

Тогда на мой взгляд, я добавил кнопку с помощью HTML помощника, как так:

<?= Html::button('Add', ['class' => 'btn btn-primary', 'onclick' => 'actionAdd()']]) ?> 

Честно говоря, я просто предположил, что кнопка тег HTML у помощника будет опция «onclick», потому что все, что я видел до сих пор, использует CHtml, который я еще не получил. Это не сработало, поэтому мой вопрос: как вы связываете действия контроллера с кнопками просмотра? И как контроллер точно знает, когда запускать действия?

Примечание: обратите внимание, что если это помогает, моя кнопка находится в моем классе индекса.

ответ

1

Действия контроллера не связаны с кнопками. Необходимо указать атрибут формы. Например. <form action="myController/myAction" ..other attributes..>, чтобы отправить вашу форму и сделать запрос к этому действию. Действие контроллера вызывается, когда вы отправляете запрос на конкретный маршрут, например. http://examle.com/controller/action. Читайте о том, как запросы yii обрабатываются в official yii2 guide

Смежные вопросы