JQuery Fullcalendar Yii2 Extension JQuery จาก: http://arshaw.com/fullcalendar/ เวอร์ชัน 4.0.2 ใบอนุญาต MIT
เอกสาร JQuery: http://arshaw.com/fullcalendar/docs/ ส่วนขยาย Yii2 โดย [email protected]
สามารถดูตัวอย่างเล็กๆ น้อยๆ ได้ที่นี่: http://yii2fullcalendar.beeye.org
แพ็คเกจได้รับการลงทะเบียนที่ packagist.org แล้ว - ดังนั้นคุณสามารถเพิ่มโค้ดหนึ่งบรรทัดเพื่อให้มันทำงาน!
เพิ่มบรรทัดต่อไปนี้ในส่วนที่ต้องการของ composer.json:
"philippfrenzel/yii2fullcalendar" : " * " ,
หรือเรียกใช้:
$ php composer.phar require philippfrenzel/yii2fullcalendar "*"
และให้แน่ใจว่าคุณได้ติดตั้งปลั๊กอินต่อไปนี้ทั่วโลก:
php composer.phar global ต้องการ "fxp/composer-asset-plugin:~1.0"
17-04-2019 อัปเดตเป็น 4.0.2 เวอร์ชันเสถียรล่าสุดของไลบรารี 19-01-2017 อัปเดตเพื่อรวมฟิลด์ที่ไม่เป็นมาตรฐาน 29-11-2014 อัปเดตเป็น 2.2.3 เวอร์ชันล่าสุดของไลบรารี
การเริ่มต้นอย่างรวดเร็วมีลักษณะดังนี้:
$ 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 ,
));
โปรดทราบว่าการดำเนินการนี้จะดูเฉพาะกิจกรรมโดยไม่มีมุมมองโดยละเอียดหรือตัวเลือกในการเพิ่มกิจกรรมใหม่... เป็นต้น
คุณสามารถเพิ่มฟิลด์ที่ไม่เป็นมาตรฐานผ่านอาร์เรย์ฟิลด์ที่ไม่เป็นมาตรฐาน ซึ่งคุณสามารถส่งผ่านคู่คีย์/ค่าใดก็ได้ ตามที่อธิบายไว้ในเอกสารประกอบฟิลด์เหตุการณ์
ดังนั้น เมื่อใช้ตัวอย่างการเริ่มต้นอย่างรวดเร็วด้านบน คุณสามารถอ่าน field1
และ fields2
ใน JavaScript ของคุณได้โดยใช้รูปแบบที่คล้ายกับ event.nonstandard.field1
และ event.nonstandard.field2
หากคุณต้องการใช้ ajax loader สิ่งนี้อาจมีลักษณะดังนี้:
<?= yii2fullcalendar yii2fullcalendar:: 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 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 ;
}