首页 文章

为什么fullCalendar不显示事件?

提问于
浏览
0

我尝试在我的fullCalendar中显示来自数据库的一些事件,但它不起作用?我的应用程序在Symfony 3.首先我安装了ancarebeca / fullcalendar,我一步一步地按照安装,我的议程在这里!在我的控制器中,我有一个返回JSON数组的方法,如下所示:

[{“1”:{“id”:1,“title”:“test”,“start”:“2017-08-01 18:00:00”,“end”:“2017-08-01 20 :00:00" , “阿迪”:真实的, “编辑”:真实的, “startEditable”:真实的, “durationEditable”:真正的 “重叠”:真实的, “URL”: “”, “的backgroundColor”: “”, “文字颜色”: “”, “类名”: “”, “呈现”: “”, “约束”:1, “源”: “”, “色彩”: “”}, “2”:{ “ID” :2,“title”:“test2”,“start”:“2017-08-02 15:00:00”,“end”:“2017-08-02 16:00:00”,“allDay”:true , “编辑”:真实的, “startEditable”:真实的, “durationEditable”:真正的 “重叠”:真实的, “URL”: “”, “的backgroundColor”: “”, “文字颜色”: “”, “类名”: “”, “呈现”: “”, “约束”:1, “源”: “”, “色彩”: “”}}]

如果你想看我的方法:

public function loadAction()
    {
        //dump($calendarService);die();
        $em = $this->getDoctrine()->getManager();
        $evenements = $em->getRepository('MALrmBundle:CalendarEvent')->findAll();

        $calendarService = $this->get('ma_lrm_bundle.service.listener');

        $events = array();

        foreach ($evenements as $key => $evenement)
        {

            $events[$evenement->getId()]=$calendarService->loadData($evenement);


        }

        $response = new JsonResponse($events);
        return $response->setData(array($events));

    }

最后,在我的js文件中,我只是调用url,如下所示:

事件:'http://localhost/ligne_rh/web/app_dev.php/admin/accueil/calendar',

......但我的日程表中没有回报......

我还发布了我的完整Js文件:

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

        });
});

请帮我 .

1 回答

  • 0

    您的JSON结构与预期不同 .

    [{"1":{"title":"test","start":"2017-08-01 18:00"}}]
    

    应该是这样的

    [{"title":"Title","test":"2017-08-01 18:00"}]
    

    要修复,请尝试更改

    $events[$evenement->getId()]=$calendarService->loadData($evenement);
    

    $events[]=$calendarService->loadData($evenement);
    

    顺便说一句,我不熟悉Symphony,但回复可能就像 return $response; 一样简单,因为你已经在 $response = new JsonResponse($events); 中使用 $events

    或者只是 return new JsonResponse($events);

相关问题