Полный календарь, показывающий события за месяц, но не за неделю / день - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь использовать полный календарь. Я успешно отображаю события за день при использовании просмотра месяца. Но когда я переключаюсь на недельную или дневную, даже если события показывают правильное время начала, событие не отображается на недельной или дневной сетке.

enter image description here enter image description here

Вот мой код php, в котором я создаю массив:

$events = array();
foreach ($todos as $event) {
            array_push($events, ['title' => $event->content, 'start' => $event->view_date.'T'.$event->appointment_time, 'backgroundColor' => $event->typeColor($event->type)]);
        }

и вот что возвращает php, когда я консольный журнал $events:

Array(3)
0:
title: "Test of the voice integration system"
start: "2020-02-21T07:15:00"
backgroundColor: "#b1b3b1"
allDay: false
1:
title: "Test"
start: "2020-02-21T10:14:00"
backgroundColor: "#b1b3b1"
allDay: false

и вот мой полный календарь:

<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/core/main.min.js" integrity="sha256-GBryZPfVv8G3K1Lu2QwcqQXAO4Szv4xlY4B/ftvyoMI=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/daygrid/main.min.js" integrity="sha256-FT1eN+60LmWX0J8P25UuTjEEE0ZYvpC07nnU6oFKFuI=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/interaction/main.min.js" integrity="sha256-MUHmW5oHmLLsvmMWBO8gVtKYrjVwUSFau6pRXu8dtnA=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/4.2.0/timegrid/main.min.js" integrity="sha256-L9T+qE3Ms6Rsuxl+KwLST6a3R/2o6m33zB5mR2KyPjU=" crossorigin="anonymous"></script>
<script>
    var calendarEl = document.getElementById('calendar');
    var calendar = new FullCalendar.Calendar(calendarEl, {
      plugins: [ 'dayGrid',
                  'interaction',
                  'timeGrid'
                ],
      header: {
              left: 'prev,next today',
              center: 'title',
              right: 'dayGridMonth, timeGridWeek, timeGridDay'
              },
      events: {!!json_encode($events)!!},
      height: "auto",
      eventClick: function(info){console.log(info)}
    });
    calendar.render();
</script>

Итак, я Я создаю массив, затем отправляю его в мое представление и назначаю параметр events как значение этого массива. Если календарь отображается правильно в представлении месяца, что я делаю неправильно, чтобы он не отображался в представлении недели или дня?

1 Ответ

1 голос
/ 21 февраля 2020

попробуйте, может помочь

 [{'title': 'Successful','allDay': false,'start': 1266398223,'end': 1266398266,'url': '/shlk/cgi-bin/getshlkrunlog.pl?i=21'}]  

проверить синтаксис, хотя

или используя JS

 $('#calendar').fullCalendar({
    ...
allDayDefault: false,
    ...
});

или, если это css, добавьте следующее

table td
{
overflow: inherit !important;
}
...