Как отформатировать данные результатов для URL источника событий FullCalendar - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу назвать свои события для полного календаря с отдельного URL. Я использую этот метод здесь: https://fullcalendar.io/docs/eventSources

$('#calendar').fullCalendar({
  eventSources: [
    '/feed1.php'
  ]
});

Как мне отформатировать результаты в " / feed1.php "?

Я попробовал типичный формат JSON, который обычно работает:

{ID:'1265',start:'2018-11-15',title:'Bentley', editable : false, allDay : true},
{ID:'1222',start:'2018-11-14',title:'Dave', editable : false, allDay : true}

Но это не работает.

Есть ли формат, который я должен использовать для дат, которые я хочу показать из " / feed1.php "?

1 Ответ

0 голосов
/ 06 ноября 2018

Ваш JSON недействителен, а также неверен в других отношениях в отношении того, что ожидает fullCalendar. Возможно, у вас есть ошибки в консоли браузера, если вы проверите.

  • Ваш JSON должен состоять из массива с [ и ] в начало и конец строки соответственно.

  • В JSON вы должны использовать двойные кавычки (") вокруг имен свойств и значения (вместо одинарных кавычек ('). Также все имена свойств должны иметь кавычки вокруг них.

  • Наконец, fullCalendar ожидает, что ID должно быть id.

Я не знаю, как вы строите свои результаты, но вам действительно нужно создать массив объектов событий в PHP и затем использовать json_encode(), чтобы позволить PHP превратить этот массив в действительный JSON.

Вот пример использования некоторых статических данных PHP, хотя я предполагаю, что в действительности вы создадите свой массив из данных базы данных или чего-то подобного.

<?php
$events = array(
    array("id" => 1265, "start" => "2018-11-15", "title" => "Bentley", "editable" => false, "allDay" => true),
    array("id" => 1222, "start" => "2018-11-14", "title" => "Dave", "editable" => false, "allDay" => true),
);
echo json_encode($events);
?>

Это выведет действительный JSON следующим образом:

[{
    "id": 1265,
    "start": "2018-11-15",
    "title": "Bentley",
    "editable": false,
    "allDay": true
},
{
    "id": 1222,
    "start": "2018-11-14",
    "title": "Dave",
    "editable": false,
    "allDay": true
}]

Вот рабочая демонстрация этого кода.

Вот демоверсия fullCalendar с использованием этого вывода JSON для правильного отображения событий.

Вот документация json_encode () .

Кроме того, fullCalendar также документы имена полей, которые оно ожидает для каждого события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...