Сохранить данные из нескольких полей встроенного редактора CKEditor, как шаблон
Я настраиваю систему шаблонов, в которой дизайнеры могут отправлять проекты HTML5 и разрешать пользователям добавлять свой собственный контент. Я использую CKEditor 4.2 и Rails 3 для приложения. Я хотел бы, чтобы пользователи могли загружать страницу шаблона, а затем редактировать различные встроенные редакторы напрямую, а затем сохранять их через JS и Ajax. У меня все работало, но при добавлении плагина iFrame у меня возникли некоторые проблемы с форматированием, потому что я просто сохранял сырой HTML из встроенных редакторов в свои шаблоны. Смотрите этот вопрос для более подробной информации:CKEditor и iFrame / YouTube / другие плагины для встраивания показывают странный HTML-код
Теперь я знаю, что я должен использовать что-то вроде:
var data = CKEDITOR.instances.editable.getData();
Но как мне управлять несколькими редакторами? Я сказал моим дизайнерам просто использовать
contenteditable="true"
для любого div они хотят быть редактируемыми. Поэтому у меня нет идентификаторов для ссылок для каждого редактора, и я не знаю, сколько редакторов будет содержать каждый файл шаблона. Я хотел бы иметь возможность сохранять как нередактируемое, так и, конечно, редактируемое содержимое в конечном шаблоне, который является просто HTML5 страница.
Вот решение, которое мне пришлось сохранить в виде необработанного содержимого всего файла шаблона, используя div с id:
$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;
});
Итак, чтобы подвести итог моего вопроса:
Как реализовать функцию сохранения, которая сохраняет содержимое нескольких редакторов CKEditor на полной странице шаблона?
Большое спасибо за любую помощь, и если вы можете помочь с этим вопросом, то он ответит на тот же вопрос, и я верю:Сохранение нескольких встроенных правок с помощью CKEditor