1

FullCalendar Yii モジュールの MainController.php スクリプトで $start 変数と $end 変数が actionList 関数にどのように/どこで渡されているかを理解しようとしています。

http://www.yiiframework.com/extension/cal/

http://arshaw.com/fullcalendar/

public function actionList($start = 0, $end = 0)
{
    if ((Yii::app()->request->isAjaxRequest) and (Yii::app()->user->hasState('calUserId')) )
    {
        $criteria = new CDbCriteria(array(
                    'condition' => 'user_id=:user_id',
                    'params'=>array(':user_id'=> Yii::app()->user->getState('calUserId')),
                ));
        $criteria->addBetweenCondition('start', $start, $end);
        $events = Event::model()->findAll($criteria);
        echo CJSON::encode($events);
        Yii::app()->end();
    }
}

これは fullcalendar.min.js スクリプトによるものですか? 呼び出されているように見える唯一の場所は、eventCal.js です。

var defaultCalendarOptions = {
        events: params.baseUrl+'list',

Yii モジュールを使用して渡された変数はありますか、それとも常に $start=0,$end=0 ですか? それらが渡された場合、その方法を説明してください...

4

1 に答える 1

1

および変数は、実際$startにはメソッドに渡されるパラメーターです。Yii フレームワークはよくこれを行います。アクション メソッドにパラメータがある場合、同じ名前のパラメータを探して代わりに渡します。$end$_GETactionList$_GET

行がこれに使用されているという適切な仮定を立てましたevents: params.baseUrl+'list'が、GET 要求を送信する実際のコード部分は fullcalendar.js ファイルの奥深くに埋め込まれています。

$.ajax($.extend({}, ajaxDefaults, source, {
    data: data,
    ...

このコードでsourceは、 はevents上記のパラメーターで、実際の fullcalendar スクリプトに渡され、およびパラメーターdataを持つ配列です。スクリプトの完全なソースはここにあります。使用している拡張機能には、縮小版しかありません。startend

于 2012-08-05T20:20:56.823 に答える