我使用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
如何做到这一点?
答案 0 :(得分:2)
如果你想在yii1中调用不同的控制器动作,你应该设置动作
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'form-id',
'action' => Yii::app()->createUrl('GetInTouch/yourAction '), //<- your form action here
)); ?>