ск редактор - предварительный просмотр сервера? - PullRequest
3 голосов
/ 08 марта 2011

Как мне получить кнопку предварительного просмотра ckeditor для отправки контента на сервер, чтобы я мог показать его на пользовательской странице при нажатии на превью?

Ответы [ 2 ]

3 голосов
/ 04 сентября 2011

Мы делаем что-то подобное за исключением того, что у нас есть ссылка для предварительного просмотра на странице, которая загружает редактор. Подход можно использовать для кнопки в редакторе, но он требует дополнительного кодирования (я выделю этот подход внизу).

Ссылка предварительного просмотра выглядит примерно так:

<a href="#" onclick="return doPreview();">Preview the page</a>

У нас есть функция doPreview:

function doPreview() {
var hiddenForm = document.forms[ 'hidden_form' ];

// TextareaId is the id of the textarea being replaced with CKEditor (the instance name)
hiddenForm.elements[ 'preview_content' ].value = CKEDITOR.instances.TextareaId.getData();

// "myform" is the active form that contains the textarea replaced by CKEditor.
var liveForm = document.forms[ 'myform' ];
if ( ! liveForm ) {
  alert( 'Error finding "myform" form.' );
  return false;
}

hiddenForm.submit();

return true;

}

Наконец, есть форма со скрытыми полями (hiddenForm):

<form name="hiddenForm" action="HTTP://www.yoursite.com/preview_template" method="POST" target="_blank">
  <input type="hidden" name="preview_content" value="" />
</form>

Итак, ссылка нажата, и вызывается функция doPreview.
Функция извлекает содержимое из CKEditor и назначает его скрытому полю в скрытой форме.
Затем функция отправляет скрытую форму.
Скрытая форма публикуется, и шаблон предварительного просмотра загружается в новом окне.
Область содержимого шаблона предварительного просмотра заполняется $ _POST ['preview_content'] (данные содержимого из редактора).

Вы можете изменить, чтобы содержать любые переменные, которые вам нужно опубликовать.


Для этого нажмите кнопку в CKEditor:
Вы можете создать собственный плагин. Здесь есть обучающий раздел с простыми инструкциями по созданию плагина:
http://docs.cksource.com/CKEditor_3.x/Tutorials

Плагин может снова работать со скрытой формой на главной странице, вам нужно вызвать родительское окно из функции плагина.

Или вы можете составить форму с JavaScript в вашем плагине и отправить ее оттуда.

Примечание. Вы можете отключить функцию предварительного просмотра по умолчанию, используя этот параметр:

config.removePlugins = 'preview';

Будь здоров, Джо

1 голос
/ 08 сентября 2011

Вы можете получить готовый плагин для работы здесь: http://alfonsoml.blogspot.com/2011/08/serverpreview-plugin-for-ckeditor.html

Вам просто нужно настроить страницу, которую вы хотите использовать для предварительного просмотра, и она заменит кнопку предварительного просмотра по умолчанию. Дополнительные опции описаны в прилагаемой документации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...