【问题标题】:How to render events on fullcalendar agendaweek view-Symfony 3如何在全日历议程周视图上呈现事件-Symfony 3
【发布时间】:2017-08-30 21:46:23
【问题描述】:

我尝试在我的全日历日程周视图中呈现事件。对于月视图,没关系!但是当我看到观看周时,事件不在这里???即使,当我创建一个新事件时,我使用以下格式设置每个事件的开始和结束日期:dd-mm-yyyy hh:ii

如果有人可以帮助我,我发布我的控制器:

public function indexAction(Request $request){
  //....//
  if ($form->isSubmitted() && $form->isValid()) {
    $title = $form->get('title')->getData();
    $start = new \DateTime($form->get('startDate')->getData());
    $end = new \DateTime($form->get('endDate')->getData());

    $event = new CalendarEvent();
    $event->setTitle($title);
    $event->setStartDate($start);
    $event->setEndDate($end);

    $em = $this->getDoctrine()->getManager();
    $em->persist($event);
    $em->flush();

    return $this->redirect($this->generateUrl('...path...'));
  }
  //.....//
}

这是我的 js:

$(document).ready(function() {
  $('#calendar').fullCalendar({
    header: {
        left: 'prev, next',
        center: 'title',
        right: 'month, agendaWeek, agendaDay'
    },
    timezone: ('Europe/London'),
    businessHours: {
        start: '09:00',
        end: '18:30',
        dow: [1, 2, 3, 4, 5]
    },
    allDaySlot: true,
    defaultView: 'agendaWeek',
    lazyFetching: true,
    firstDay: 1,
    selectable: true,
    timeFormat: {
        agenda: 'h:mmt',
        '': 'h:mmt'
    },
    editable: true,
    eventDurationEditable: true,
    events: 'http://localhost/ligne_rh/web/app_dev.php/admin/accueil/calendar',

  });
});

【问题讨论】:

  • 下面的答案是正确的时间格式。如果您仍然有任何其他问题,请提供一些调试信息 - 例如浏览器控制台窗口或网络工具中出现的任何错误,以及 JSON 事件输出示例(如果需要)。
  • 感谢您的回答!现在我已经正确设置了这样的时间格式:'Y-m-d\TH:i:s'...但是我的事件总是不在周视图上??浏览器的控制台窗口中没有错误...我的 JSON 数据如下所示:id 1 title "test" start "2017-08-01T18:00:00" end "2017-08-01T20:00:00" allDay true editable true startEditable true durationEditable true overlay true url "" backgroundColor "" textColor "" className "" rendering "" constraint 1 source "" color ""
  • 但它们出现在月视图中,是吗?或者没有?您在该示例中的事件设置为 8 月 1 日。显而易见的问题,但是...您是否更改了周视图以显示该日期?默认情况下,它将使用今天的日期,即 8 月 31 日。 8 月 1 日与本周相比已经过去很久了,我相信你已经意识到了。
  • :-) 谢谢!实际上,我的日期示例是 8 月 1 日。我有今天日期的其他事件示例。尽管如此,我的事件并未显示在周视图中,而是显示在月视图中!有什么想法吗??
  • 我可以将它们显示在周视图的顶部(allday raw),我可以拖放它们,但是当刷新浏览器的窗口时,它们会消失......有什么想法吗??

标签: php mysql symfony fullcalendar


【解决方案1】:

我相信您的开始和结束时间需要与我们通常用于 PHP / MySQL 的格式略有不同。它应该是这样的:

2017-09-01T23:59

这是根据Moment 时间规范。您可能还想彻底阅读 Event Object 其余部分的详细信息,以确保没有其他适用于您的用例的奇怪之处。

【讨论】:

  • 谢谢你的回答!!现在我知道为什么它不起作用了!!您是否有完整日历 js 文件的链接或示例?因为我不知道如何正确设置这个时间格式?? :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多