2017-02-04 2 views
0

Ich möchte Ereignisse, die in der Datenbank gespeichert sind, in der Kalendervorlage rendern. Alle Ereignisse werden als Objekte übergeben und können wie so abgerufen werden:Ereignisse von Datenbank in FullCalendar hochladen

{% for object in objects %} 
    var start = "{{ object.start }}"; 
    var end = "{{ object.end }}"; 
    var name = "{{ object.name }}"; 
{% endfor %} 

ich diesen arbeitet bestätigen kann, weil ich es in Sources Registerkarte sehen, wenn ich die Seite zu überprüfen. Ich habe also ein paar Ereignisse in der Datenbank gespeichert und möchte diese Ereignisse rendern.

So am documentation suchen, dachte ich über so etwas wie dies zu tun:

 $('#calendar').fullCalendar({ 
      eventSources: [ 
       // your event source 
       { 
        events: [ // put the array in the `events` property 
         {% for object in objects %} 
          var start = "{{ object.start }}"; // Can't seem to identify this statement 
          var end = "{{ object.end }}"; 
          var name = "{{ object.name }}"; 
          var event={id:1 , title: name, start: start, end:end}; 
          //$('#calendar').fullCalendar('renderEvent', event, true); 
          { 
           title : name, 
           start : start, 
           end : end, 
          } 
         {% endfor %} 

        ] 
       } 
       // any other event sources... 
      ] 

     }); 

Aber die events Array gibt leere in der Sources inspizieren Tab angezeigt. Ich habe mich eine ganze Weile festgefahren. Irgendwelche Ideen?

EDIT:

Wenn ich etwas tun, wie folgt aus:

select: function(start,end){ 
    {% for object in objects %} 
     var name = "{{ object.name }}"; 
     var start = "{{ object.start }}"; 
     var end = "{{ object.end }}"; 
     var event={id:1 , title: name, start: start, end:end}; 
     $('#calendar').fullCalendar('renderEvent', event, true); 
    {% endfor %} 

Die Ereignisse zeigen, wenn ich auf ein Datum klicken. Also ich denke, wenn ich in eine function wrap es wird funktionieren. Wenn das gesagt wird, gibt es wie eine initialize() Funktion im Vollkalender?

Antwort

0

eine Lösung gefunden:

loading: function(bool){ 
    {% for object in objects %} 
     if (bool){ 

     var name = "{{ object.name }}"; 
     var start = "{{ object.start }}"; 
     var end = "{{ object.end }}"; 
     var event={id:1 , title: name, start: start, end:end}; 
     $('#calendar').fullCalendar('renderEvent', event, true); 
     } 
    {% endfor %} 
}, 
Verwandte Themen