Yii - 将表单提交给不同的控制器

时间:2017-01-30 17:32:14

标签: php yii

我使用Gii创建了一个表单,并将表单和所有字段复制到另一个页面。具体而言,将此表单嵌入主页。

$form=$this->beginWidget('CActiveForm', array(
                            'id'=>'get-in-touch-form',

现在当我提交表单时,它没有做任何事情,因为它使用$ this对象调用begingWidget

$this->beginWidget(

当我echo get_class($this)向我显示SiteController时,因为我在主页中嵌入了代码,所以这是有意义的。 在这种情况下,我想在beginWidget内调用GetInTouchController方法 我如何调用make this方法调用? 我试过了

$getInTouch = new GetInTouchController();
$form=$getInTouch->beginWidget('CActiveForm', array(

$form=GetInTouchController::beginWidget('CActiveForm', array(

但在这两种情况下,它都会显示错误

include(GetInTouchController.php): failed to open stream

如何做到这一点?

1 个答案:

答案 0 :(得分:2)

如果你想在yii1中调用不同的控制器动作,你应该设置动作

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'form-id',
    'action' => Yii::app()->createUrl('GetInTouch/yourAction '), //<- your form action here

)); ?>