2015-11-25 121 views
0

嗨,大家好,我在我的项目中使用this extension,我遇到了ajaxEvents问题,我想知道我在这里做什么错?这里是我的视图文件和控制器动作Yii2完整日历AjaxEvents不能正常工作

<div class="container"> 
    <div class="row"> 
     <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 
    <?= yii2fullcalendar::widget([ 
     'events' => $events, 
     'options' => [ 
      'language' => 'en', 
      'eventLimit' => 2, 
     ], 
     'ajaxEvents' => \yii\helpers\Url::to(['/jsoncalendar']) 
    ]); 
    ?> 
     </div> 
    </div> 

</div> 

这里的代码在控制器代码

public function actionJsoncalendar($start=NULL,$end=NULL,$_=NULL){ 

    \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; 

    $times = Event::find()->where(1)->all(); 

    $events = array(); 

    foreach ($times AS $time){ 
     //Testing 
     $Event = new \yii2fullcalendar\models\Event(); 
     $Event->id = $time->id; 
     $Event->title = $time->title; 
     $Event->start = $time->start_time; 
     $Event->end = $time->end_time; 
     $events[] = $Event; 
    } 

    return $events; 
} 

使用eventLimit也试过,但多数民众赞成在不工作或者

+0

请提供链接,扩展您正在使用。 – arogachev

+0

@arogachev添加了链接 –

+0

在'ajaxEvents'中指定了只包含动作名称的url,您是否试图像在README中提到的那样使用控制器/模块ID来指定它:''ajaxEvents'=> Url :: to([ /时间轨迹/默认/ jsoncalendar'])'? – arogachev

回答

1

我使用的是相同的扩展我发现(至少在我的项目中)ajaxEvents应该返回一个编码的JSON数组。试图返回:

return json_encode($events); 

,并删除这一行:

\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;