TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理
FileManager最新版已升级到9.x,9.x新增了对文件的批量处理,但仍然有部分同学在继续使用6.x,这里大叔整理了一份自己在配置6.x时,遇到的问题和解决方案。
安装
下载安装包解压后,在根目录下会找到两个文件夹:langs(语言包)与plugins(核心程序/插件包),分别将两个文件夹拷至TinyMCE的语言目录下和插件目录下,如果有覆盖冲突,建议将原有文件夹复制一份。
配置
FileManager 6.x 的Bug较多,大叔配合Chrome的调试工具,才将错误一一找出来,并修正。
9.x 是一个全新的版本,修正了4.x-6.x所有的错误,如果不愿意修改错误的同学可以考虑转向9.x
配置:Config.php
//连接前缀,自动添加在文件 src=‘http://xxxx’ 中 $base_url = 'http://localhost'; //上传路径 $upload_dir = '/uploads/'; //上传路径(绝对路径) $current_path = '../../../Uploads/';
修改:dialog.php
在修改文件内容前,有一些同学的网站上可能会提示:Notice:Undefined varialbe
这个经典错误,如果网站放在服务器上的同学,大叔不建议去PHP.ini关闭这个提示,直接在页面顶部:
<?php error_reporting(E_ALL & ~E_NOTICE); ...
修改:图片自动更换二级域名
在文件的<body>
下面增加:
<input type="hidden" id="src_dirs" value="<?php echo $subdir; ?>" />
修改:图片自动更换二级域名 – include.js文件
function apply_img(file,type_file,external){ //缩略图 if ($('#popup').val()==1) var window_parent=window.opener; else var window_parent=window.parent; //var path = $('#cur_dir').val(); //将#cur_dir更换成#cur_dirs //#cur_dir 图片默认长路径,上传用,路径重写向的网站这个路径无效 //#cur_dirs 大叔自己做了一个短路径,这样就和TP5的route不冲突了 var src_path = $('#src_dirs').val(); var base_url = $('#base_url').val(); var track = $('#track').val(); if (external=="") { var target = window_parent.document.getElementsByClassName('mce-img_'+track); var closed = window_parent.document.getElementsByClassName('mce-filemanager'); $(target).val(base_url+'/'+src_path+file); $(closed).find('.mce-close').trigger('click'); }else{ var target = window_parent.document.getElementById(external); $(target).val(base_url+'/'+src_path+file); close_window(); } }
Bug:无法删除文件&文件夹
将$root.
参数注释掉,否则删除文件及文件夹时,Jquery传值的路径会出错,导致删除无效。
{ //删除文件 delete_folder( '<?php echo /*$root. */$cur_dir .$file; ?>', '<?php echo $thumbs_path.$subdir .$file; ?>' ); $(this).parent().parent().parent().hide(200); return false; } { //删除文件夹 delete_file( '<?php echo /*$root. */$cur_dir .$file; ?>', '<?php echo $thumbs_path.$subdir .$file; ?>' ); $(this).parent().parent().parent().parent().hide(200); return false; }
Bug:无法浏览查看大图
因为$src的路径问题,会导致大图之前无法查看,这里大叔新写了一个$src_dirs,为自定义路径,变成适合自己的网站可以正常查看的路径
//先找到这行,大约在290行左右 $src = $base_url . $cur_dir . $file; //在上一行下面新增这一行 $src_dirs = $base_url.$upload_dir.$subfolder.$subdir.$file;
找到<a class="preview"
将data-url=
的值换成$src_dirs
<a class="preview" title="<?php echo lang_Preview?>" data-url="<?php echo $src_dirs;?>" data-toggle="lightbox" href="#previewLightbox" > <i class=" icon-eye-open"></i> </a>
修改:delete_file.php
前面将$root.
参数注释,是为了防止路径传值出错,所以这里重新将绝对地址加上去,不然将会导致删除文件时,变成无法删除。
//unlink($path); unlink($root.$path); unlink($path_thumbs);
修改:delete_folder.php
//deleteDir($path); deleteDir($root.$path); deleteDir($path_thumbs);