如何使用ckeditor 4类型(链接,图像,闪光灯)打开其他对话框

问题描述 投票:0回答:1

将elFinder集成到CMS中时遇到一些麻烦。我将其与CKEditor 4一起用作guide中JQuery UI的集成方法。图像上传和图像管理器都很好,但是我不知道如何为不同的文件类型和文件夹打开不同的对话框,如我如何配置elFinder以打开新的对话框文件管理器来存储Flash文件和文件夹来存储Flash文件(与images文件夹),当我在编辑器中单击“ Flash”按钮,然后单击“浏览服务器”时。与单击“链接”按钮和“浏览服务器”时相同,对话框应显示存储doc和pdf文件的文件夹。我也在加载到页面中的main.ckedialog.js中尝试了类似的方法:

if ($('#content').length > 0) {
    var editor = CKEDITOR.replace('content', {
        language: 'en',
        filebrowserBrowseUrl: '#',
        //extraPlugins: 'uploadimage,image2',
        extraPlugins: 'uploadimage',
        filebrowserImageBrowseUrl: 'admin/includes/elFinder/php/connector.minimal.php',
        filebrowserImageBrowseLinkUrl: 'admin/includes/elFinder/php/connector.minimal.php',
        filebrowserImageUploadUrl: 'admin/includes/elFinder/php/connector.minimal.php',
        filebrowserFlashUploadUrl: 'admin/includes/elFinder/php/connector.doc.php',
        filebrowserFlashBrowseUrl: 'admin/includes/elFinder/php/connector.doc.php',

        ImageBrowseUrl: 'admin/includes/elFinder/php/connector.minimal.php',
        ImageBrowseLinkUrl: 'admin/includes/elFinder/php/connector.minimal.php',
        ImageUploadUrl: 'admin/includes/elFinder/php/connector.minimal.php',
        FlashUploadUrl: 'admin/includes/elFinder/php/connector.doc.php',
        FlashBrowseUrl: 'admin/includes/elFinder/php/connector.doc.php',
    });
    CKEDITOR.config.height = 500;
    CKEDITOR.config.defaultLanguage = 'en';
    editor.addCommand("mySimpleCommand", { // create named command
        exec: function (edt) {
            alert(edt.getData());
        }
    });
}

这是我要用来打开文件管理器的elFinder对话框的按钮

Here the button i using

希望有人可以提供帮助。谢谢。

javascript php ckeditor4.x elfinder
1个回答
0
投票

[在Google上找不到任何东西之后,我找到了一种使用一些肮脏技巧解决问题的方法。因此,我认为这仍然是一些正确的正确方法。这是任何需要它的解决方案:

  1. 将main.ckedialog.js中的第二个对话框(用于我的情况,是connector.doc.php)的第二个变量定义为php连接器,就像这样]

    var elfNode,elfNode1,elfNode2,elfInsrance,dialogName,elfUrl ='admin / includes / elFinder / php / connector.minimal.php',//连接器的URLelfUrl1 ='admin / includes / elFinder / php / connector.doc.php',

  2. 在main.ckedialog.js中的“ CKEDITOR.on('dialogDefinition',function(event){”处检查按钮,找到“ if(elfNode){”行,并将其切成if else(dialogName),像这样

  3. 如果(dialogName ==='图像'){如果(elfNode){如果(elfDirHashMap [dialogName] && elfDirHashMap [dialogName]!= elfInsrance.cwd()。hash{...elfNode.dialog('open');}}否则,如果(dialogName =='link'){如果(elfNode1){...elfNode1.dialog('open');}}

  1. 在main.ckedialog.js中找到“ CKEDITOR.on('instanceReady',function(e){”行,复制该函数中的所有代码,并在复制内容后立即粘贴,然后在您所在的块中重命名“ elfNode”复制并粘贴到“ elfNode1”,将“ url:elfUrl”更改为“ url:elfUrl1”,还将“ onlyMimes”更改为所需的配置]
  2. (对不起,但我仍然不知道如何在stackoverflow编辑器中为代码使用pre标记,有时它起作用,有时它不起作用)

现在可以了。仍在寻找更好的方法来做到这一点。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.