jonggialdo / yii2fullcalendarfork
4.0.2
2019-04-17 13:42 UTC
Requires
- bower-asset/fullcalendar: ^4.0.2@stable
- bower-asset/fullcalendar-scheduler: ^4.0.2@stable
- yiisoft/yii2: *
- yiisoft/yii2-jui: *
Requires (Dev)
README
JQuery Fullcalendar Yii2 扩展,来自: http://arshaw.com/fullcalendar/ 版本 4.0.2 许可证 MIT
JQuery 文档: http://arshaw.com/fullcalendar/docs/ Yii2 扩展由 philipp@frenzel.net
一个示例可以在以下链接找到: http://yii2fullcalendar.beeye.org
安装
尽管包已在 packagist.org 注册 - 所以你只需添加一行代码,就可以让它运行!
将以下行添加到你的 composer.json 的 require 部分
"philippfrenzel/yii2fullcalendar":"*",
或者运行
$ php composer.phar require philippfrenzel/yii2fullcalendar "*"
并确保你已安装以下全局插件
php composer.phar global require "fxp/composer-asset-plugin:~1.0"
更新日志
2019-04-17 更新到库的最新稳定版本 4.0.2 2017-01-19 更新以包含非标准字段 2014-11-29 更新到库的最新 2.2.3 版本
使用方法
快速入门看起来像这样
$events = array(); //Testing $Event = new \yii2fullcalendar\models\Event(); $Event->id = 1; $Event->title = 'Testing'; $Event->start = date('Y-m-d\TH:i:s\Z'); $Event->nonstandard = [ 'field1' => 'Something I want to be included in object #1', 'field2' => 'Something I want to be included in object #2', ]; $events[] = $Event; $Event = new \yii2fullcalendar\models\Event(); $Event->id = 2; $Event->title = 'Testing'; $Event->start = date('Y-m-d\TH:i:s\Z',strtotime('tomorrow 6am')); $events[] = $Event; ?> <?= \yii2fullcalendar\yii2fullcalendar::widget(array( 'events'=> $events, ));
注意,这只会查看事件,没有详细视图或添加新事件的选项等。
非标准字段
您可以通过非标准字段数组添加非标准字段,对于这些字段,您可以传递任何键/值对,如事件字段文档中所述。
因此,使用上面的快速入门示例,您可以使用类似于 event.nonstandard.field1
和 event.nonstandard.field2
的记法在 JavaScript 中读取 field1
和 fields2
。
AJAX 使用
如果您想使用 AJAX 加载器,它可能看起来像这样
20171023 用事件替换了 ajaxEvents - 请检查 fullcalendar io 文档以获取详细信息
<?= yii2fullcalendar\yii2fullcalendar::widget([ 'options' => [ 'lang' => 'de', //... more options to be defined here! ], 'events' => Url::to(['/timetrack/default/jsoncalendar']) ]); ?>
并在您引用的控制器内部,操作应该看起来像这样
public function actionJsoncalendar($start=NULL,$end=NULL,$_=NULL){ \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $times = \app\modules\timetrack\models\Timetable::find()->where(array('category'=>\app\modules\timetrack\models\Timetable::CAT_TIMETRACK))->all(); $events = array(); foreach ($times AS $time){ //Testing $Event = new \yii2fullcalendar\models\Event(); $Event->id = $time->id; $Event->title = $time->categoryAsString; $Event->start = date('Y-m-d\TH:i:s\Z',strtotime($time->date_start.' '.$time->time_start)); $Event->end = date('Y-m-d\TH:i:s\Z',strtotime($time->date_end.' '.$time->time_end)); $events[] = $Event; } return $events; }