Calling a method within Portlet when submitting form
I have a Portlet that contains a form. Now what I want to achieve is the following.
1) A Porlet containing a form is called within a page via
<?php $this-&开发者_如何学编程gt;widget('form'); ?>
2) The user fills in this form and clicks on submit "The submit button should be an ajax button" 3) When submit has been pressed the form should call a method within the form portlet class and the form should be replaced with a Thank you message. 4) I only want the current view in the portlet replaced with another view.
My portlet class looks like this
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');
}
}
}
I'm afraid you can't do it with portlet only since portlet itself can't be reached via URL. You have to create a proxy controller action like this:
ProxyController extends CController {
function actionPortlet(){
$portlet = new Polls();
$portlet->usr_id = 123;
$portlet->update();
}
}
精彩评论