1

而不是 CGridView 我使用 fullCalendar 扩展在日历中显示我的数据作为事件。除此之外,我还有过滤器选项。

在 CGridView 中我们可以编写'dataProvider'=>$model->search(),来获取搜索数据。同样,我如何向 fullCandar 扩展提供相同的数据。

4

1 回答 1

0

我通过如下方式获取控制器中的数据并将其转换为 fullcalendar 期望的形状的数组来做到这一点:

public function actionCalendar() 
{
    $data=CalendarEntry::model()->findAll();

    $model = array();
    foreach ($data as $item) {
        array_push($model, array(
            'id' => $item->id,
            'title' => $item->datetext,
            'start' => $item->datedate,
            'url' => CController::createUrl('calendar/view', array ('id' => $item->id)),
        ));
    };
    $this->render('calendar',array('model'=>$model));
}

然后在我的日历视图中,我只是设置模型:

$this->widget('application.extensions.fullcalendar.FullcalendarGraphWidget',
    array(
        'data'=> $model,        

        'htmlOptions'=>array(
               'style'=>'width:800px;margin: 0 auto;'
        ),
    )
);
于 2013-05-23T17:40:39.487 回答