CKeditor - 编辑窗口内的自定义标签和符号

时间:2010-09-20 07:09:31

标签: regex tags ckeditor placeholder

当您将flash对象插入CKeditor时,编辑器窗口将显示以下符号:

alt text

我在想。当用户将此标记插入编辑器时(使用正则表达式{formbuilder =(\ d +)} /),是否可以执行类似的操作:

{formbuilder = 2}

如果是这样,有人可以解释一下吗? :)

更新

我一直在查看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。另一方面,对我来说,我不知道这是怎么可能的:\

1 个答案:

答案 0 :(得分:0)

我希望解决类似的问题,除了我所有的东西看起来像XML。就像<cms:include page="whatever" />一样。在您的情况下,您将能够复制占位符插件并更改占位符正则表达式以匹配您的标记。在我的情况下,看起来我将修改iframe插件或其他东西,并希望找出如何将我的每个标签添加为自动关闭......