0

フォームを含むポートレットがあります。今、私が達成したいのは次のとおりです。

1)フォームを含むPorletは、ページ内で

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

2)ユーザーがこのフォームに入力し、送信をクリックします。「送信ボタンはajaxボタンである必要があります」3)送信が押されたら、フォームはフォームポートレットクラス内のメソッドを呼び出し、フォームはThankyouに置き換えられます。メッセージ。4)ポートレットの現在のビューのみを別のビューに置き換えたい。

私のポートレットクラスは次のようになります

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');
    }
}

}
4

1 に答える 1

1

残念ながら、ポートレット自体には URL 経由でアクセスできないため、ポートレットのみで行うことはできません。次のようなプロキシ コントローラ アクションを作成する必要があります。

ProxyController extends CController {
  function actionPortlet(){
    $portlet = new Polls();
    $portlet->usr_id = 123;
    $portlet->update();
  }
}
于 2010-05-19T17:18:36.483 に答える