ปลั๊กอิน Fullcalendar ใช้สำหรับ Grav CMS มันอ่านไฟล์ปฏิทิน ICS และแสดงกิจกรรมในวิดเจ็ตปฏิทินรายเดือนบนเพจของคุณ - รวมถึงรูปภาพเฉพาะเดือน (หากมีอยู่ในโฟลเดอร์หน้าปฏิทิน):
การติดตั้ง
การติดตั้งปลั๊กอิน Fullcalendar สามารถทำได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธี วิธีการติดตั้ง GPM (Grav Package Manager) ช่วยให้คุณติดตั้งปลั๊กอินได้อย่างรวดเร็วและง่ายดายด้วยคำสั่งเทอร์มินัลอย่างง่าย ในขณะที่วิธีการแบบแมนนวลทำให้คุณสามารถทำได้ผ่านไฟล์ zip
การติดตั้ง GPM (แนะนำ)
วิธีที่ง่ายที่สุดในการติดตั้งปลั๊กอินนี้คือผ่าน Grav Package Manager (GPM) ผ่านเทอร์มินัลของระบบ (หรือที่เรียกว่าบรรทัดคำสั่ง) จากรูทของประเภทการติดตั้ง Grav ของคุณ:
bin/gpm ติดตั้ง fullcalendar
การดำเนินการนี้จะติดตั้งปลั๊กอิน Fullcalendar ลงในไดเร็กทอรี /user/plugins ของคุณภายใน Grav ไฟล์ของมันสามารถพบได้ใน /your/site/grav/user/plugins/fullcalendar
การติดตั้งด้วยตนเอง
ในการติดตั้งปลั๊กอินนี้ เพียงดาวน์โหลดเวอร์ชัน zip ของที่เก็บนี้และเปิดเครื่องรูดภายใต้ /your/site/grav/user/plugins จากนั้นเปลี่ยนชื่อโฟลเดอร์เป็น fullcalendar คุณสามารถค้นหาไฟล์เหล่านี้ได้ที่ GitHub หรือทาง GetGrav.org
ตอนนี้คุณควรมีไฟล์ปลั๊กอินทั้งหมดภายใต้
/your/site/grav/user/plugins/fullcalendar
หมายเหตุ: ปลั๊กอินนี้เป็นส่วนประกอบแบบแยกส่วนสำหรับ Grav ซึ่งต้องใช้ Grav และปลั๊กอินข้อผิดพลาดและปัญหาในการทำงาน
ปลั๊กอินผู้ดูแลระบบ
หากคุณใช้ปลั๊กอินของผู้ดูแลระบบ คุณสามารถติดตั้งได้โดยตรงผ่านปลั๊กอินของผู้ดูแลระบบโดยเรียกดูแท็บปลั๊กอินแล้วคลิกปุ่มเพิ่ม
การกำหนดค่า
ก่อนกำหนดค่าปลั๊กอินนี้ คุณควรคัดลอก user/plugins/fullcalendar/fullcalendar.yaml ไปยัง user/config/plugins/fullcalendar.yaml และแก้ไขเฉพาะสำเนานั้นเท่านั้น
โปรดทราบว่าหากคุณใช้ปลั๊กอินของผู้ดูแลระบบ ไฟล์ที่มีการกำหนดค่าของคุณที่ชื่อ fullcalendar.yaml จะถูกบันทึกไว้ในโฟลเดอร์ user/config/plugins/ เมื่อการกำหนดค่าได้รับการบันทึกในผู้ดูแลระบบ
นอกจากนี้ยังมี UI แบบง่ายในแบ็กเอนด์ของผู้ดูแลระบบที่ให้การปรับแต่งพื้นฐาน
นี่คือการกำหนดค่าเริ่มต้นและคำอธิบายของตัวเลือกที่มี:
เปิดใช้งาน: จริง
สี: "#3a87ad" # ดูหมายเหตุเพิ่มเติมเกี่ยวกับสีที่กำหนดเองในบันทึกการเปลี่ยนแปลง อย่าลืมใช้เครื่องหมายอัญประกาศเดี่ยวหรือคู่รอบรายการ !
showlegend: false # ตั้งค่าเป็น true เพื่อแสดงชื่อไฟล์ปฏิทินตามคำอธิบายใต้ตาราง
weekNumbers: false # ตั้งค่าเป็น true เพื่อแสดง Week Numbers
cors_api_url: # ค่าเริ่มต้นว่างเปล่าเนื่องจากพร็อกซีภายนอกที่ใช้ก่อนหน้านี้ https://cors-anywhere.herokuapp.com/ จะไม่ทำงานอีกต่อไป
addJquery: false # เพิ่มเนื้อหา Jquery ในกรณีที่ธีมของคุณไม่ทำเช่นนี้
การใช้งาน
เมื่อติดตั้งและเปิดใช้งาน คุณสามารถใช้ปลั๊กอินนี้เพื่อแยกวิเคราะห์ไฟล์ปฏิทิน ICS (ต้องพบในผู้ใช้/ข้อมูล/ปฏิทิน และตั้งค่าเป็นพารามิเตอร์ในรหัสย่อของปลั๊กอิน โดยไม่ต้องใช้ Path !) และแสดงกิจกรรมจากปฏิทินนั้น ที่ใดก็ได้บนไซต์ของคุณโดยใช้รหัสย่อนี้:
ในหน้าที่เหมาะสม (สังเกตเครื่องหมายคำพูดคู่ " รอบชื่อไฟล์ - เครื่องหมายคำพูดเดี่ยว ' จะไม่ทำงาน !)
คุณยังสามารถระบุ URL แบบสัมบูรณ์ให้กับไฟล์ ICS ซึ่งในกรณีนี้จะใช้พร็อกซี CORS เพื่อเข้าถึงไฟล์เหล่านั้น
นอกจากนี้ คุณสามารถแสดงรูปภาพสำหรับเดือนปัจจุบันเหนือวิดเจ็ตปฏิทิน
เพียงใส่ไฟล์รูปภาพ 12 ไฟล์ชื่อ 'January.jpg', 'February.jpg', ... , 'December.jpg' ลงในโฟลเดอร์สำหรับเพจของคุณที่จะวางปฏิทิน (โปรดทราบว่าชื่อไฟล์รูปภาพต้องตรงกับชื่อเดือนตามการตั้งค่าสถานที่ของคุณ ดังนั้นสำหรับ locale: de ให้ใช้ 'Januar.jpg' ...)
จากเวอร์ชัน 0.2.6 คุณยังสามารถวาง .ics Calendar Files ลงในโฟลเดอร์เพจของคุณ ไฟล์เหล่านั้นจะถูกหยิบขึ้นมาและใช้งานเหมือนกับใน /user/data/calendar
ในกรณีที่คุณใช้เฉพาะไฟล์ปฏิทินในโฟลเดอร์เพจ อย่าลืมใส่ทางลัดที่ว่างเปล่า:
[ปฏิทินเต็ม][/fullcalendar]
ในเนื้อหาหน้าของคุณ มิฉะนั้น จะไม่ทำงาน !
โปรดทราบด้วยว่าจาก v 0.2.8 ปลั๊กอินจะทำงานก็ต่อเมื่อคุณใช้เทมเพลต calendar.html.twig จากปลั๊กอิน (หรือสำเนาที่แก้ไขในโฟลเดอร์ธีมของคุณ) สำหรับหน้าปฏิทิน ซึ่งสามารถทำได้ด้วยตนเองหรือใน แบ็กเอนด์ของผู้ดูแลระบบโดยเลือก 'ปฏิทิน' ในรายการดรอปดาวน์สำหรับเทมเพลตของเพจ
นอกจากนี้ ควรสังเกตว่าปลั๊กอินนี้อาศัย jquery ที่โหลดโดยธีม (ธีมส่วนใหญ่ทำเช่นนี้) - ในกรณีที่คุณใช้ธีมที่ไม่ทำเช่นนี้ ตอนนี้มีตัวเลือกการกำหนดค่า (จาก v 0.2.10) เพื่อแก้ไขปัญหานี้: เพียงตั้งค่า addJquery เป็นจริง
การใช้งานขั้นสูง
นอกเหนือจากกรณีการใช้งานมาตรฐานแล้ว ยังมีวิธีที่สวยงามในการอัปเดตไฟล์ .ics ของคุณจากปฏิทินระยะไกลโดยอัตโนมัติในกรณีที่โฮสต์บนเซิร์ฟเวอร์ CalDav (เช่น Owncloud, Nextcloud...):
ในกรณีนี้ คุณสามารถใช้ caldav2ics ผ่านงาน cron หรือ Grav Scheduler เพื่ออัปเดตไฟล์ ics ของคุณที่แสดงโดยปลั๊กอิน Fullcalendar ได้โดยอัตโนมัติ เพื่อให้เนื้อหาปฏิทินระยะไกล ซึ่งโดยปกติแล้วจะคงอยู่ในแอปปฏิทินแยกต่างหาก (เช่น Google ปฏิทินหรือ Lightning) เป็นไปโดยอัตโนมัติ เผยแพร่ไปยังเว็บไซต์ของคุณ
เช่นเดียวกับถ้าคุณติดตั้ง Grav-plugin-caldav2ics ซึ่งรวมอยู่ใน Grav อย่างสมบูรณ์และมี Admin Backend ที่ดีสำหรับการกำหนดค่าที่ง่าย
ปัญหา CORS:
ตั้งแต่เริ่มต้นปี 2021 ฉันรู้ว่า CORS Proxy ภายนอกที่แนะนำ (herokuapp ดูด้านบน) จะใช้ไม่ได้กับสาธารณะอีกต่อไป โปรดดูหัวข้อการสนับสนุนนี้ ดังนั้นฉันจึงตัดสินใจใช้ CORS Proxy ในพื้นที่ซึ่งมีให้ตั้งแต่ v 0.2.8.0 สำหรับกรณีการใช้งานส่วนใหญ่ Cors API URL ที่ว่างเปล่าในการตั้งค่าควรจะใช้ได้ เฉพาะในกรณีที่การติดตั้ง Grav ของคุณไม่อยู่ในรูทของเว็บ คุณจะต้องปรับสิ่งนี้
คำแนะนำ: URL ที่ประเมินโดยอัตโนมัติ (สร้างขึ้นเมื่อ Cors API URL ว่างเปล่า ดังนั้นเมื่ออัปเดต อย่าลืมลบ herokuapp URL เก่า หากมี) โดยปกติแล้วจะเป็น http://yourdomain/user/plugins/fullcalendar/proxy.php/ ซึ่ง จะทำงานหากการติดตั้ง Grav อยู่ที่เว็บรูท หากไม่เป็นเช่นนั้น เช่น Grav ติดตั้งในไดเรกทอรีย่อย Grav คุณจะต้อง http://yourdomain/grav/user/plugins/fullcalendar/proxy.php/
เครดิต
ปลั๊กอินนี้สร้างขึ้นบน fullcalendar.io, jakubroztocil/rrule และ jsical - Javascript parser สำหรับ rfc5545
ทำ
ใช้ข้อยกเว้นของกฎ EXDATE/EXRULE
อัปเกรดรวม Fullcalendar.io เป็นเวอร์ชัน 5 (ปัจจุบัน: เวอร์ชัน 4)
0 Comments: