将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对话框的按钮
希望有人可以提供帮助。谢谢。
[在Google上找不到任何东西之后,我找到了一种使用一些肮脏技巧解决问题的方法。因此,我认为这仍然是一些正确的正确方法。这是任何需要它的解决方案:
将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',
在main.ckedialog.js中的“ CKEDITOR.on('dialogDefinition',function(event){”处检查按钮,找到“ if(elfNode){”行,并将其切成if else(dialogName),像这样
如果(dialogName ==='图像'){如果(elfNode){如果(elfDirHashMap [dialogName] && elfDirHashMap [dialogName]!= elfInsrance.cwd()。hash{...elfNode.dialog('open');}}否则,如果(dialogName =='link'){如果(elfNode1){...elfNode1.dialog('open');}}
(对不起,但我仍然不知道如何在stackoverflow编辑器中为代码使用pre标记,有时它起作用,有时它不起作用)
现在可以了。仍在寻找更好的方法来做到这一点。谢谢