jaxwifi/yii2-fullcalendar

Yii2 fullcalendar Widgets (philippfrenzel 分支)

安装: 968

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 95

类型:yii2-extension

4.0.6 2020-05-04 03:21 UTC

README

这是从 philippfrenzel/yii2fullcalendar 分支出来的,进行了部分资产更改

JQuery Fullcalendar Yii2 扩展,来源: http://arshaw.com/fullcalendar/
版本 4.0.4
许可 MIT

JQuery 文档: http://arshaw.com/fullcalendar/docs/philipp@frenzel.net 开发的 Yii2 扩展

一个小的示例可以在以下链接找到: http://yii2fullcalendar.beeye.org

Latest Stable Version Build Status License

安装

虽然包已在 packagist.org 注册,但您只需添加一行代码即可运行!

将以下行添加到您的 composer.json 中的 require 部分

  "jaxwifi/yii2-fullcalendar":"*",

或者运行

$ php composer.phar require jaxwifi/yii2-fullcalendar "*"

并确保您已全局安装以下插件

php composer.phar global require "fxp/composer-asset-plugin:~1.0"

更新日志

2019-05-04 更新到最新 4.0.4 版本,修复了资产依赖问题
2019-05-04 更新到最新 4.0.3 版本,修复了资产问题
2019-04-17 更新到库的最新稳定版 4.0.2
2017-01-19 更新以包含非标准字段
2014-11-29 更新到库的最新 2.2.3 版本

用法

快速入门看起来像这样

  $events = array();
  //Testing
  $Event = new \yii2-fullcalendar\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 \yii2-fullcalendar\models\Event();
  $Event->id = 2;
  $Event->title = 'Testing';
  $Event->start = date('Y-m-d\TH:i:s\Z',strtotime('tomorrow 6am'));
  $events[] = $Event;

  ?>

  <?= \yii2-fullcalendar\yii2-fullcalendar::widget(array(
      'events'=> $events,
  ));

注意,这只会显示事件,没有详细视图或添加新事件的选项等。

非标准字段

您可以通过非标准字段数组添加非标准字段,您可以为这些字段传递任何键/值对,具体请参阅 事件字段 文档。

因此,使用上面的快速入门示例,您可以使用类似 event.nonstandard.field1event.nonstandard.field2 的表示法在 JavaScript 中读取 field1fields2

AJAX 用法

如果您想使用 AJAX 加载器,它可能看起来像这样

20171023 ajaxEvents 已被 events 替换 - 请参阅 fullcalendar io 文档以获取详细信息

<?= yii2-fullcalendar\yii2-fullcalendar::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 \yii2-fullcalendar\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;
  }