是否可以使用FullCalendar显示来自数据库的自定义事件和Google日历?我已经完成了从数据库显示自定义事件的工作,并且我还想使用Google日历显示我所在国家的假期。我的问题是,可以在FullCalendar中这样做吗?这是我的代码:
googleCalendarApiKey: 'AIzaSyBTYvbg3gKLNi0A8qOXMyk6q-EnzM6DZq4',
events: [ googleCalendarId:'en.philippines#holiday@group.v.calendar.google.com',
<?php foreach($events as $event):
$start = explode(" ", $event['start']);
$end = explode(" ", $event['end']);
if($start[1] == '00:00:00'){
$start = $start[0];
}else{
$start = $event['start'];
}
if($end[1] == '00:00:00'){
$end = $end[0];
}else{
$end = $event['end'];
}
?>
{
id: '<?php echo $event['id']; ?>',
title: '<?php echo $event['title']; ?>',
start: '<?php echo $start; ?>',
end: '<?php echo $end; ?>',
color: '<?php echo $event['color']; ?>',
},
<?php endforeach; ?>
答案 0 :(得分:1)
您应该可以使用addEventSource
来做到这一点:
$('#myCal').fullCalendar( ‘addEventSource’, source );
其中
与事件选项一样,源 可能是数组/ URL /函数。 活动将立即从此来源获取并放置在 日历。
因此,source
可以是Google网址或包含您的事件的数组。
答案 1 :(得分:1)
events: [ googleCalendarId:'en.philippines#holiday@group.v.calendar.google.com'
... JS数组不能包含命名项...不确定它甚至可以在浏览器中编译。您是否遇到控制台错误?即使这是有效的JS,您也无法将Google日历指定为事件数组的一项,fullCalendar希望“事件”为 URL或对象数组,而不是组合。如果您想将数据库中的数据与外部数据相结合,例如Google日历,那么您可能正在寻找的是“事件源”(请参见https://fullcalendar.io/docs/eventSources)
这样,您可以为fullCalendar提供获取事件的不同方法的列表。第一个条目可以是您的PHP代码生成的数据,第二个条目可以是您的Google日历详细信息,它可以告诉您消失并从Google日历下载事件:
从代码中删除您的events:
选项,而是指定:
eventSources: [
//first event source:
[
<?php foreach($events as $event):
$start = explode(" ", $event['start']);
$end = explode(" ", $event['end']);
if($start[1] == '00:00:00'){
$start = $start[0];
}else{
$start = $event['start'];
}
if($end[1] == '00:00:00'){
$end = $end[0];
}else{
$end = $event['end'];
}
?>
{
id: '<?php echo $event['id']; ?>',
title: '<?php echo $event['title']; ?>',
start: '<?php echo $start; ?>',
end: '<?php echo $end; ?>',
color: '<?php echo $event['color']; ?>',
},
<?php endforeach; ?>
],
//second event source:
{
googleCalendarId:'en.philippines#holiday@group.v.calendar.google.com'
}
]
如果您要合并Google日历活动,请确保您也遵循https://fullcalendar.io/docs/google-calendar
中列出的所有步骤答案 2 :(得分:0)
使用:
eventSources: [{googleCalendarId: 'xxxxxxxxx@gmail.com', className: 'gcal-event'},{url:'events.php',}],