JQuery Fullcalendar Yii2 Extension JQuery von: http://arshaw.com/fullcalendar/ Version 4.0.2 Lizenz MIT
JQuery-Dokumentation: http://arshaw.com/fullcalendar/docs/ Yii2-Erweiterung von [email protected]
Ein kleines Beispiel finden Sie hier: http://yii2fullcalendar.beeye.org
Das Paket ist jedoch bei packagist.org registriert – Sie können also nur eine Codezeile hinzufügen, um es laufen zu lassen!
Fügen Sie die folgende Zeile zu Ihrem Composer.json-Anforderungsabschnitt hinzu:
"philippfrenzel/yii2fullcalendar" : " * " ,
oder ausführen:
$ php composer.phar require philippfrenzel/yii2fullcalendar "*"
Und stellen Sie sicher, dass Sie das folgende Plugin global installiert haben:
PHP Composer.phar global erfordert „fxp/composer-asset-plugin:~1.0“
17.04.2019 Auf die neueste stabile Version 4.0.2 der Bibliothek aktualisiert. 19.01.2017 Um nicht standardmäßige Felder aktualisiert. 29.11.2014 auf die neueste stabile Version 2.2.3 der Bibliothek aktualisiert
Schnellstart sieht so aus:
$ events = array ();
//Testing
$ Event = new yii2fullcalendar models Event ();
$ Event -> id = 1 ;
$ Event -> title = ' Testing ' ;
$ Event -> start = date ( ' Y-m-dTH:i:sZ ' );
$ 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-dTH:i:sZ ' , strtotime ( ' tomorrow 6am ' ));
$ events [] = $ Event ;
?>
<?= yii2fullcalendar yii2fullcalendar:: widget ( array (
' events ' => $ events ,
));
Beachten Sie, dass dadurch nur die Ereignisse angezeigt werden, ohne dass eine detaillierte Ansicht oder Option zum Hinzufügen eines neuen Ereignisses usw. vorhanden ist.
Sie können nicht standardmäßige Felder über das Array „nicht standardmäßige Felder“ hinzufügen, für das Sie ein beliebiges Schlüssel/Wert-Paar übergeben können, wie in der Dokumentation zu Ereignisfeldern beschrieben.
Anhand des obigen Schnellstart-Beispiels können Sie also field1
und fields2
in Ihrem JavaScript mit einer Notation lesen, die der von event.nonstandard.field1
und event.nonstandard.field2
ähnelt.
Wenn Sie einen Ajax-Loader verwenden möchten, könnte dies so aussehen:
<?= yii2fullcalendar yii2fullcalendar:: widget ([
' options ' => [
' lang ' => ' de ' ,
//... more options to be defined here!
],
' events ' => Url:: to ([ ' /timetrack/default/jsoncalendar ' ])
]);
?>
und innerhalb Ihres referenzierten Controllers sollte die Aktion so aussehen:
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-dTH:i:sZ ' , strtotime ( $ time -> date_start . ' ' . $ time -> time_start ));
$ Event -> end = date ( ' Y-m-dTH:i:sZ ' , strtotime ( $ time -> date_end . ' ' . $ time -> time_end ));
$ events [] = $ Event ;
}
return $ events ;
}