我目前正在研究Yii 2.0框架,我偶然发现了一个问题。关于我在guide here上进行的教程。
在控制器中,有一个名为actionEntry的动作,但没有迹象表明动作如何知道何时被触发。
我尝试使用名为actionAdd的操作创建自定义控制器。一旦调用它,它将简单地呈现不同的视图。以下是我的代码:
public function actionAdd() {
return $this->redirect('entry', '');
}
然后在我看来,我已经使用html助手添加了一个按钮,如下所示:
<?= Html::button('Add', ['class' => 'btn btn-primary', 'onclick' => 'actionAdd()']]) ?>
老实说,我只是假设html助手的按钮标签会有一个'onclick'选项,因为到目前为止我看到的所有东西都使用了我尚未进入的CHtml。这不起作用所以我的问题是,如何将控制器操作链接到视图按钮?控制器如何准确知道何时触发操作?
注意:请注意,如果它有帮助,我的按钮就在我的索引类中。
答案 0 :(得分:1)
控制器操作未链接到按钮。您必须指定表单的操作属性。例如。 <form action="myController/myAction" ..other attributes..>
提交您的表单,并请求该操作。当您向特定路线发出请求时,会调用控制器的操作,例如 http://examle.com/controller/action 的。阅读yii如何处理official yii2 guide