2010-05-18 5 views
0

양식이 포함 된 포틀릿이 있습니다. 이제 내가 성취하고자하는 것은 다음과 같다.양식을 제출할 때 포틀릿 내에서 메소드 호출

1) 사용자가 양식에 채우고)하면 3」버튼이 AJAX 버튼되어야 제출 "제출에 클릭)

<?php $this->widget('form'); ?> 

(2)를 통해 페이지 내에서 호출 된 형태를 포함하는 Porlet 제출 양식을 누르면 양식이 양식 포틀릿 클래스 내의 메소드를 호출해야하며 양식은 감사 메시지로 바뀌어야합니다. 4) 포틀릿의 현재보기 만 다른보기로 바꿉니다.

내 포틀릿 클래스는 내가 포틀릿 자체가 URL을 통해 도달 할 수없는 경우에만 있기 때문에 당신이 포틀릿을 할 수 없어 유감이

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

것 같습니다. 다음과 같이 프록시 컨트롤러 동작을 만들어야합니다.

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