JQuery Fullcalendar Yii2 Extensión JQuery de: http://arshaw.com/fullcalendar/ Versión 4.0.2 Licencia MIT
Documentación de JQuery: http://arshaw.com/fullcalendar/docs/ Extensión Yii2 de [email protected]
Puede encontrar una pequeña muestra aquí: http://yii2fullcalendar.beeye.org
Aunque el paquete está registrado en packagist.org, por lo que solo puede agregar una línea de código para dejarlo ejecutar.
agregue la siguiente línea a su sección de requisitos de compositor.json:
"philippfrenzel/yii2fullcalendar" : " * " ,
o ejecutar:
$ php composer.phar require philippfrenzel/yii2fullcalendar "*"
Y asegúrese de tener el siguiente complemento instalado globalmente:
php compositor.phar global requiere "fxp/composer-asset-plugin:~1.0"
17-04-2019 Actualizado a la última versión 4.0.2 Estable de la biblioteca 19-01-2017 Actualizado para incluir campos no estándar 29-11-2014 Actualizado a la última versión 2.2.3 de la biblioteca
El inicio rápido tiene este aspecto:
$ 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 ,
));
Tenga en cuenta que esto solo verá los eventos sin ninguna vista detallada ni opción para agregar un nuevo evento, etc.
Puede agregar campos no estándar a través de la matriz de campos no estándar, para la cual puede pasar cualquier par clave/valor, como se describe en la documentación de Campos de eventos.
Entonces, usando el ejemplo de Inicio rápido anterior, puede leer field1
y fields2
en su JavaScript usando una notación similar a event.nonstandard.field1
y event.nonstandard.field2
.
Si desea utilizar el cargador ajax, esto podría verse así:
<?= yii2fullcalendar yii2fullcalendar:: widget ([
' options ' => [
' lang ' => ' de ' ,
//... more options to be defined here!
],
' events ' => Url:: to ([ ' /timetrack/default/jsoncalendar ' ])
]);
?>
y dentro de su controlador al que se hace referencia, la acción debería verse así:
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 ;
}