欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理

程序员文章站 2023-11-06 14:28:46
FileManager 图片管理插件是 TinyMCE下 免费且非官方的文件插件,可上传/管理的类型包括:文件,图片,视频。 本教程主要展示大叔在为安装开发插件过程中进行调整的修改记录。 ......

filemanager最新版已升级到9.x,9.x新增了对文件的批量处理,但仍然有部分同学在继续使用6.x,这里大叔整理了一份自己在配置6.x时,遇到的问题和解决方案。

TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理

安装

下载安装包解压后,在根目录下会找到两个文件夹: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);