Когда вы вставляете флеш-объект в CKeditor, в окне редактора появится этот символ:
Мне было интересно. Можно ли сделать что-то подобное, когда пользователи вставляют этот тег в редактор (используя regex {formbuilder = (\ d +)} /):
{formbuilder = 2}
Если так, может кто-нибудь объяснить, как? :)
UPDATE:
Я смотрел на плагин PageBreak, чтобы попытаться понять, что, черт возьми, происходит. Большая разница между этим плагином и моим заключается в том, как HTML-код вставляется в редактор.
CKEDITOR.plugins.add('formbuilder',
{
init: function(editor)
{
var pluginName = 'formbuilder';
var windowObjectReference = null;
editor.ui.addButton('Formbuilder',
{
label : editor.lang.common.form,
command: pluginName,
icon: 'http://' + top.location.host + '/publish/ckeditor/images/formbuilder.png',
click: function (editor)
{
if (windowObjectReference == null || windowObjectReference.closed){
var siteid = $('#siteid').val();
windowObjectReference = window.open('/publish/formbuilder/index.php?siteid='+siteid,'Formbuilder','scrollbars=0,width=974,height=650');
} else {
windowObjectReference.focus();
}
}
});
}
});
Как видите, мой плагин открывает новое окно и тег вставляется с:
function InsertForm(form_id)
{
// Get the editor instance that we want to interact with.
var oEditor = CKEDITOR.instances.page_content;
// Check the active editing mode.
if ( oEditor.mode == 'wysiwyg' )
{
// Insert the desired HTML.
oEditor.insertHtml( '{formbuilder='+form_id+'}' );
}
else
alert( 'You must be on WYSIWYG mode!' );
}
Плагин PageBreak делает все, когда вы нажимаете на значок панели инструментов. Это позволяет сделать fakeImage внутри файла плагина. Для меня, с другой стороны, я не понимаю, как это возможно: \