Extrait de la documentation en ligne de FullCalendar
FullCalendar appelle cette fonction chaque fois qu'il a besoin de nouvelles données d'événement. Ceci est déclenché lorsque l'utilisateur clique sur prev/next ou change de vue.
Cette fonction sera donnée commencer y fin les paramètres, qui sont Moments indiquant la plage pour laquelle le calendrier a besoin d'événements.
fuseau horaire est une chaîne de caractères/un booléen décrivant l'état actuel du calendrier. actuel du calendrier. Il s'agit de la valeur exacte de l'attribut fuseau horaire option.
Il sera également donné rappel une fonction qui doit être appelée lorsque la fonction d'événement personnalisée a généré ses événements. Il est de la responsabilité de la fonction de s'assurer que rappel est appelé avec un tableau de Objets d'événements .
Voici un exemple montrant comment utiliser une fonction d'événement pour récupérer des événements à partir d'un flux XML hypothétique :
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
$.ajax({
url: 'myxmlfeed.php',
dataType: 'xml',
data: {
// our hypothetical feed requires UNIX timestamps
start: start.unix(),
end: end.unix()
},
success: function(doc) {
var events = [];
$(doc).find('event').each(function() {
events.push({
title: $(this).attr('title'),
start: $(this).attr('start') // will be parsed
});
});
callback(events);
}
});
}
});
Source :
J'ai fait quelques petits changements :
$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
jQuery.ajax({
url: 'schedule.php/load',
type: 'POST',
dataType: 'json',
data: {
start: start.format(),
end: end.format()
},
success: function(doc) {
var events = [];
if(!!doc.result){
$.map( doc.result, function( r ) {
events.push({
id: r.id,
title: r.title,
start: r.date_start,
end: r.date_end
});
});
}
callback(events);
}
});
}
});
Notas: start
y end
MUST être ISO 8601 . Un autre changement a été l'utilisation de format
au lieu de unix
(cela m'a facilité la tâche pour traiter le code-behind)