mtangoo / yii2-fullcalendar
Yii2 fullcalendar 小部件
v1.0.0
2022-08-24 11:06 UTC
Requires
- php: >=7.4
- bower-asset/fullcalendar: 3.10.*
- yiisoft/yii2: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-24 15:51:56 UTC
README
JQuery Fullcalendar Yii2 扩展 Jquery 来自: http://arshaw.com/fullcalendar/ 版本 2.1.1 许可证 MIT
JQuery 文档: http://arshaw.com/fullcalendar/docs/ 这是一个由 philipp@frenzel.net 开发的 Yii2 扩展的分支
安装
尽管该软件已在 packagist.org 注册,但您只需添加一行代码即可运行!
在您的 composer.json 的 require 部分添加以下行
"mtangoo/yii2-fullcalendar":"*",
或运行
composer require mtangoo/yii2-fullcalendar,
用法
快速入门看起来像这样
use hosannahighertech\calendar\Calendar; use hosannahighertech\calendar\models\Event; $events = []; //Testing $items = [ [ 'id' => 1, 'title' => 'Event 1', 'start' => date('Y-m-d\TH:i:s\Z'), 'nonstandard' => [ 'field1' => 'Something I want to be included in object #1', 'field2' => 'Something I want to be included in object #2', ] ], [ 'id' => 1, 'title' => 'Event 2', 'start' => date('Y-m-d\TH:i:s\Z',strtotime('tomorrow 6am')), ] ]; foreach($items as $item){ $events[] = new Event($item); } ?> <?= Calendar::widget(['events'=> $events]) ?>
注意,这只会显示事件,没有详细视图或添加新事件的选项等。
非标准字段
您可以通过非标准字段数组添加非标准字段,您可以传递任何键/值对,如 事件字段 文档中所述。
因此,使用上面的快速入门示例,您可以使用类似 event.nonstandard.field1
和 event.nonstandard.field2
的表示法在 JavaScript 中读取 field1
和 fields2
。
AJAX 用法
如果您想使用 AJAX 加载器,这可能看起来像这样
20171023 ajaxEvents 被替换为事件 - 请查阅 fullcalendar io 文档以获取详细信息
<?= Calendar::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 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; }