JQuery Fullcalendar Yii2 Extension JQuery de : http://arshaw.com/fullcalendar/ Version 4.0.2 Licence MIT
Documentation JQuery : http://arshaw.com/fullcalendar/docs/ Extension Yii2 par [email protected]
Un petit échantillon peut être trouvé ici : http://yii2fullcalendar.beeye.org
Le package est bien enregistré sur packagist.org - vous pouvez donc simplement ajouter une ligne de code pour le laisser fonctionner !
ajoutez la ligne suivante à votre section require composer.json :
"philippfrenzel/yii2fullcalendar" : " * " ,
ou exécutez :
$ php composer.phar require philippfrenzel/yii2fullcalendar "*"
Et assurez-vous que le plugin suivant est installé globalement :
php composer.phar global nécessite "fxp/composer-asset-plugin:~1.0"
17-04-2019 Mise à jour vers la dernière version 4.0.2 stable de la bibliothèque 19-01-2017 Mise à jour pour inclure les champs non standard 29-11-2014 Mise à jour vers la dernière version 2.2.3 de la bibliothèque
Démarrage rapide Ressemble à ceci :
$ 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 ,
));
Notez que cela affichera uniquement les événements sans aucune vue détaillée ni option pour ajouter un nouvel événement.. etc.
Vous pouvez ajouter des champs non standard via le tableau de champs non standard, pour lequel vous pouvez transmettre n'importe quelle paire clé/valeur, comme décrit dans la documentation Champs d'événement.
Ainsi, en utilisant l'exemple de démarrage rapide ci-dessus, vous pouvez lire field1
et fields2
dans votre JavaScript en utilisant une notation similaire à event.nonstandard.field1
et event.nonstandard.field2
.
Si vous souhaitez utiliser le chargeur ajax, cela pourrait ressembler à ceci :
<?= yii2fullcalendar yii2fullcalendar:: widget ([
' options ' => [
' lang ' => ' de ' ,
//... more options to be defined here!
],
' events ' => Url:: to ([ ' /timetrack/default/jsoncalendar ' ])
]);
?>
et à l'intérieur de votre contrôleur référencé, l'action devrait ressembler à ceci :
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 ;
}