yii2fullcalendar

JQuery Fullcalendar Yii2 Extension

Github stars Tracking Chart

yii2fullcalendar

JQuery Fullcalendar Yii2 Extension
JQuery from: http://arshaw.com/fullcalendar/
Version 4.0.2
License MIT

JQuery Documentation:
http://arshaw.com/fullcalendar/docs/
Yii2 Extension by philipp@frenzel.net

A tiny sample can be found here:
http://yii2fullcalendar.beeye.org

Latest Stable Version
Build Status
Code Climate
License

Installation

Package is although registered at packagist.org - so you can just add one line of code, to let it run!

add the following line to your composer.json require section:

  "philippfrenzel/yii2fullcalendar":"*",

or run:

$ php composer.phar require philippfrenzel/yii2fullcalendar "*"

And ensure, that you have the following plugin installed global:

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

Changelog

17-04-2019 Updated to latest 4.0.2 Stable Version of the library
19-01-2017 Updated to include non-standard fields
29-11-2014 Updated to latest 2.2.3 Version of the library

Usage

Quickstart Looks like this:


  $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,
  ));

Note, that this will only view the events without any detailed view or option to add a new event.. etc.

Non-Standard fields

You can add non-standard fields via the non-standard fields array, for which you can pass any key/value pair, as described in the Event Fields documentation.

So, using the Quick Start example above, you can read field1 and fields2 in your JavaScript using notation similar to event.nonstandard.field1 and event.nonstandard.field2.

AJAX Usage

If you wanna use ajax loader, this could look like this:

20171023 ajaxEvents are replaced by events - pls. check fullcalendar io documentation for details

<?= yii2fullcalendar\yii2fullcalendar::widget([
      'options' => [
        'lang' => 'de',
        //... more options to be defined here!
      ],
      'events' => Url::to(['/timetrack/default/jsoncalendar'])
    ]);
?>

and inside your referenced controller, the action should look like this:

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;
  }

Main metrics

Overview
Name With Ownerphilippfrenzel/yii2fullcalendar
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:GNU General Public License v2.0
所有者活动
Created At2013-10-17 09:40:54
Pushed At2022-12-28 19:20:19
Last Commit At2019-11-04 09:08:02
Release Count36
Last Release Name4.0.2 (Posted on )
First Release Namebeta (Posted on )
用户参与
Stargazers Count133
Watchers Count24
Fork Count97
Commits Count205
Has Issues Enabled
Issues Count130
Issue Open Count41
Pull Requests Count32
Pull Requests Open Count2
Pull Requests Close Count4
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private