CKEditor - Пользовательский браузер изображений - PullRequest
1 голос
/ 27 июля 2010

В настоящее время я разрабатываю браузер изображений на PHP и jQuery.Мне удалось создать плагин для пользовательских кнопок, который открывает мой браузер изображений в новом окне (не диалоговом окне):

CKEDITOR.plugins.add('imgbrowser',
{
    init: function(editor)
    {
        var pluginName = 'imgbrowser';
        editor.ui.addButton('Imgbrowser',
            {
                label: 'Image browser',
                command: pluginName,
                click: function (editor) { window.open('/publish/browser/index.php','Image Browser','width=900,height=600'); }
            });
    }
});

Есть здесь кто-нибудь, кто знает, как включить функцию обратного вызова и как это сделать?будет использоваться для того, чтобы я мог добавить выбранные изображения в редактор?

1 Ответ

1 голос
/ 28 июля 2010

Хорошо. Вот ответ:

В родительском окне у меня есть эта функция:

function InsertHTML(file_path)
        {
            // Get the editor instance that we want to interact with.
            var oEditor = CKEDITOR.instances.page_content;
            var value = file_path;

            // Check the active editing mode.
            if ( oEditor.mode == 'wysiwyg' )
            {
                // Insert the desired HTML.
                oEditor.insertHtml( '<img src="' + value + '" />' );
            }
            else
                alert( 'You must be on WYSIWYG mode!' );
        }

page_content - это идентификатор моей текстовой области.

Во всплывающем окне у меня есть эта функция:

function sendToParent(file_path) {
    window.opener.InsertHTML(file_path);
}


echo "<input type='button' value='Insert image' onclick='sendToParent(\"".$img_element."\")' />"
...