php - FullCalendar 使用数据库和谷歌日历

标签 php fullcalendar

是否可以使用 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; ?>

最佳答案

事件:[ googleCalendarId:'en.philippines#holiday@group.v.calendar.google.com'...JS 数组不能包含命名项目...不确定这会甚至在浏览器中编译。你有没有遇到控制台错误?即使这是有效的 JS,您也不能将谷歌日历指定为事件数组的一项,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 中列出的所有步骤。

关于php - FullCalendar 使用数据库和谷歌日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51352395/

相关文章:

php - 在没有 SSH 访问的情况下将大量数据加载到 MySQL?

jquery - 使用 FullCalendar 和 removeEvents 方法过滤 onclick 事件

c# - 如何在 C# Web 应用程序中为 FullCalendar 创建 JSON 提要

angular - 无法读取 null 的属性 '__k' - FullCalendar + Angular 11

不包括FullCalendar结束日期

php - 在没有登录的情况下在 linux 中运行远程脚本

php - 如何使用 Behat 和 Mink PHP 处理浏览器窗口或选项卡

php - Gmail SMTP 在 ec2 实例中不工作

php - 使用 PHP 在 CSS 中搜索内容

javascript - fullcalendar:我怎样才能得到相关查看月份的第一天和最后一天(而不是上个月\下个月的日子)