Fullcalendar - Перетащите школьное расписание

Я хочу создать школьное расписание с использованием полного календаря.

Это должно выглядеть примерно так: Ссылка

Моя проблема в том, что fullcalendar всегда показывает даты рядом с будними днями. ("Ср - 27.04", "Чт - 28.04",...)

Что я хочу, так это то, что есть только с понедельника по пятницу без дат и без возможности переключиться на следующую неделю. Это должна быть абстрактная неделя. Есть ли способ добиться этого?

Спасибо за вашу помощь.


person Mike_NotGuilty    schedule 27.04.2016    source источник
comment
Очень даже, я бы порекомендовал удалить все функции, которые вам не нужны, поиграть с jquery ui, чтобы понять перетаскивание, а затем попытаться сделать что-то, что работает и достигает того, что вы хотите создать.   -  person Jordan Lowe    schedule 27.04.2016


Ответы (1)


Поиграв со всеми функциями плагина, которые вы можете найти здесь, в документах, у меня есть рабочий календарь!

Вот как это выглядит: Полный календарь

Вот код:

var calendar = $('#trainingszeitenCalendar').fullCalendar({
        //lang: 'de',
        header: { // Display nothing at the top
            left: '',
            center: '',
            right: ''
        },
        eventSources: ['events.php'],
        height: 680, // Fix height
        columnFormat: 'dddd', // Display just full length of weekday, without dates 
        defaultView: 'agendaWeek', // display week view
        hiddenDays: [0,6], // hide Saturday and Sunday
        weekNumbers:  false, // don't show week numbers
        minTime: '16:00:00', // display from 16 to
        maxTime: '23:00:00', // 23 
        slotDuration: '00:15:00', // 15 minutes for each row
        allDaySlot: false, // don't show "all day" at the top
        select: function(start, end, allDay) {

             // Code for creating new events.
             alert("Create new event at " + start);
        },
        eventResize: function( event, delta, revertFunc, jsEvent, ui, view ) {
             // Code when you resize an event (for example make it two hours longer
             alert("I just got resized!");
        },
        eventDrop: function( event, jsEvent, ui, view ) { 

            // Code when you drop an element somewhere else
            alert("I'm somewhere else now");
        }
}
// With the next line I set a fixed date for the calendar to show. So for the user it looks like it's just a general week without a 'real' date behind it.
$('#trainingszeitenCalendar').fullCalendar( 'gotoDate', '2000-01-01');

ИЗМЕНИТЬ

Я создал таблицу MYSQL с разными событиями. События между 1999-12-27 и 2000-01-02. Чтобы добавить события в таблицу, вам нужен отдельный файл php, который возвращает весь объект события (см. код ниже). Перетаскивание можно выполнять с помощью действий (как показано в коде выше).

events.php

<?php

 $fetch = "YOUR SQL Statement";
 $query = mysqli_query....; // Execute fetch

 $event_array = array();

 while ($event = mysqli_fetch_array($query, MYSQL_ASSOC)) {

 $id = $event['ID'];
 $title = $event['Title'];
 $description = $event['Description'];
 $startdatum = $event['Start'];
 $enddatum = $event['Ende'];

 // Add event object to JSON array
 // For more options check the fullcalendar.io docs 
 $event_array[] = array(
    'id' => $id,
    'title' => $title,
    'description' => $description,
    'start' => $startdatum,
    'end' => $enddatum
 );
 }

 echo json_encode($event_array);

 ?>
person Mike_NotGuilty    schedule 27.04.2016
comment
Привет Майк. Вы сделали полностью рабочий создатель школьного расписания? Где вы можете добавлять разные темы/события и обновлять их, а также хранить/получать их из базы данных (возможно, mysql)? Я ищу создателя школьного расписания с перетаскиванием, и я нашел этот протектор :-) Буду очень признателен, если у вас есть рабочий код :-) Большое спасибо. - person Claes Gustavsson; 11.09.2016
comment
Спасибо, Майк. Теперь я могу добавлять события в свою базу данных, а также при изменении размера и перетаскивании события. Но как, когда я перемещаю событие? Я пытался использовать функцию eventMove... но это не сработало. - person Claes Gustavsson; 12.09.2016
comment
Вы можете попробовать функции eventDragStart и eventDragStop. Эти функции будут выполнять ваш код, когда вы начнете что-то перетаскивать и когда перестанете перетаскивать. - person Mike_NotGuilty; 14.09.2016
comment
Дополнительные мероприятия можно найти в документации (раздел Перетаскивание и изменение размера событий): fullcalendar.io/docs - person Mike_NotGuilty; 14.09.2016