Speichern Sie Daten aus mehreren CKEditor-Inline-Editor-Feldern wie eine Vorlage

Ich richte ein Vorlagensystem ein, in dem Designer HTML5-Entwürfe einreichen und Benutzern erlauben können, ihren eigenen Inhalt hinzuzufügen. Ich benutze CKEditor 4.2 und Rails 3 für die App. Ich möchte, dass Benutzer die Vorlagenseite laden und dann die verschiedenen Inline-Editoren direkt bearbeiten und dann über JS und Ajax speichern können. Ich hatte alles am Laufen, aber als ich das iFrame-Plugin hinzufügte, stieß ich auf einige Formatierungsprobleme, weil ich einfach den rohen HTML-Code aus den Inline-Editoren in meinen Vorlagen gespeichert habe. Siehe diese Frage für weitere Details:CKEditor und iFrame / YouTube / Other Embed Plugins zeigen seltsamen HTML-Code

Ich weiß jetzt, dass ich etwas verwenden sollte wie:

var data = CKEDITOR.instances.editable.getData();

Aber wie würde ich so mehrere Editoren verwalten? Ich habe meinen Designern geraten, einfach zu verwenden

contenteditable="true"

für jedes div wollen sie editierbar sein. Daher habe ich keine IDs für jeden Editor und weiß nicht, wie viele Editoren jede Vorlagendatei enthalten wird. Ich möchte sowohl nicht bearbeitbare Inhalte als auch natürlich bearbeitbare Inhalte in der endgültigen Vorlage speichern können, die nur eine ist HTML5-Seite.

Hier ist die Lösung, die ich hatte, um den Rohinhalt der gesamten Vorlagendatei mit einem div mit id zu speichern:

$saveButton.click(function(e) {

    // Extract contents of magboy container
    var contents = $("#page-cnt").html();

    // Send contents to server
    $.ajax({
        url: '/pages/'+PageId+'/editor_save',
        type: 'POST',
        data: {
            containerContents: contents
        },
        success: function(response){
            alert("contents saved");
        }
    });

    // prevent original click behaviour
    e.preventDefault();
    return false;

});

Um meine Frage zusammenzufassen:

Wie kann ich eine Speicherfunktion implementieren, die den Inhalt mehrerer CKEditor-Editoren in einer vollständigen Vorlagenseite speichert?

Vielen Dank für jede Hilfe und wenn Sie mit dieser Frage helfen können, dann wird es diese Frage auch beantworten, glaube ich:Speichern mehrerer Inline-Bearbeitungen mit CKEditor

Antworten auf die Frage(1)

Ihre Antwort auf die Frage