提交表单时在Portlet中调用方法

时间:2010-05-18 08:29:48

标签: php yii

我有一个包含表单的Portlet。现在我想要实现的目标如下。

1)通过

在页面中调用包含表格的Porlet
<?php $this->widget('form'); ?>

2)用户填写此表单并点击提交“提交按钮应为ajax按钮” 3)当按下提交时,表单应调用表单portlet类中的方法,并且表单应替换为Thank you消息。 4)我只希望将portlet中的当前视图替换为另一个视图。

我的portlet类看起来像这样

Yii::import('zii.widgets.CPortlet');

class Polls extends CPortlet{

    public $usr_id=''; 


    public function init(){

        $cs = Yii::app()->clientScript;
        $cs->registerCoreScript('jquery');
        parent::init();
    }

    protected function renderContent(){    
        $this->render('form');
    }

    public function update(){
       $this->render('thankyou');
    }
}

}

1 个答案:

答案 0 :(得分:1)

我担心你不能用portlet来做,因为无法通过URL访问portlet本身。您必须创建这样的代理控制器操作:

ProxyController extends CController {
  function actionPortlet(){
    $portlet = new Polls();
    $portlet->usr_id = 123;
    $portlet->update();
  }
}