Um diese Funktionalität zu aktivieren, müssen Sie lediglich die serialize-Erweiterung aktivieren.
scheduler.plugins({
serialize: true
});
Um die Daten des Schedulers in einen XML-String zu konvertieren, verwenden Sie die Methode toXML:
var xml = scheduler.toXML(); //xml string
Related sample: Serialize scheduler events
Um die Daten des Schedulers in einen JSON-String zu konvertieren, verwenden Sie die Methode toJSON:
var json_string = scheduler.toJSON(); //json string
Beachten Sie, dass diese Methode einen JSON-String und kein JavaScript-Objekt zurückgibt. Wenn Sie ein JSON-Objekt benötigen, verwenden Sie stattdessen die Methode getEvents.
Related sample: Serialize scheduler events
Um die Daten des Schedulers in einen iCal-String zu konvertieren, verwenden Sie die Methode toICal:
var ical_string = scheduler.toICal(); //ical string
Zusätzlich gibt es ein externes Skript für iCal Import-Export-Operationen
Related sample: Serialize scheduler events
Dieser Ansatz gilt nicht für das iCal-Format.
Standardmäßig werden beim Export nur die Standardattribute (Eigenschaften) berücksichtigt:
Um benutzerdefinierte Attribute einzubeziehen, können Sie die Methode data_attributes überschreiben. Ein einfaches Beispiel sieht so aus:
scheduler.data_attributes = function(){
return [
["id"],["text"],["date_start"],["date_end"],
["custom_attribute"]
];
};
Im Wesentlichen gibt diese Methode eine Liste von Attributnamen zurück.
Sie können auch eine Formatierungsfunktion angeben, um Attributdaten vor der Serialisierung zu verarbeiten.
Dies ist nützlich, um Datumsangaben vor dem Hinzufügen zu XML zu formatieren.
scheduler.data_attributes = function(){
return [
["id"],
["text"],
["start_date",scheduler.templates.format_date],
["end_date",scheduler.templates.format_date]];
}
Diese Technik ist für das iCal-Format nicht anwendbar.
Wenn die "recurring"-Erweiterung verwendet wird, müssen zusätzliche Attribute für wiederkehrende Ereignisse definiert werden:
scheduler.data_attributes = function(){
var empty = function(a){ return a||""; }
return [["id"],
["text"],
["start_date",scheduler.templates.xml_format],
["end_date",scheduler.templates.xml_format],
["rec_type",empty],
["event_length",empty],
["event_pid",empty]];
}
Die Serialisierung ermöglicht es, Daten einfach durch Speichern in einer XML-Datei zu sichern, ohne dass eine Datenbank erforderlich ist.
scheduler.plugins({
serialize: true
});
<form id="xml_form" action="xml_writer.php" method="post" target="hidden_frame" >
<input type="hidden" name="data" value="" id="data">
</form>
<input type="button" name="save" value="save" onclick="save()" >
function save(){
var form = document.getElementById("xml_form");
form.elements.data.value = scheduler.toXML();
form.submit();
}
<?php
file_put_contents("./data.xml",$_POST["data"]);
?>
Eine leere data.xml-Datei sieht so aus:
<data></data>
Mit dieser Konfiguration kann der Scheduler Ereignisse aus data.xml laden, und durch Drücken der "save"-Schaltfläche wird der aktuelle Zustand des Schedulers serialisiert und in der Datei gespeichert.
So werden beim nächsten Laden des Schedulers die zuvor gespeicherten Ereignisse angezeigt.
Wenn Sie beim Speichern unerwünschtes Escaping der Daten bemerken, stellen Sie sicher, dass "magic_quotes" in Ihrer PHP-Konfiguration deaktiviert ist.
Nach oben