Drupal自带的编辑器功能很简单,通常需要安装一个 WYSIWYG 的编辑器,其中 FCKeditor 是一款比较优秀的编辑器,下面说明 FCKeditor 的安装方法。
1,下载安装包,需要两个,一个是FCKeditor本身,另一个是 drupal 的fckeditor 接口模块:
到 http://www.fckeditor.net/download 下载FCKeditor, 目前最新的版本是FCKeditor_2.6.2.zip。
到 http://drupal.org/project/fckeditor 下载接口模块,我的 drupal 是 5.8,所以下载一个 for 5.x 的:
fckeditor-5.x-2.2-beta2.tar.gz
2,解压上传到站点
先 解压接口模块,得到一个 fckeditor 文件夹,把它上传到sites/all/modules/ 目录下,如果没有 moudules 子目录,就自己建一个。不要直接上传到根目录下的modules中,那里是drupal的核心模块,不要动里面的东西。 fckeditor/README.txt里有详细的安装指令,必要时可以参考。
sites/all/modules/fckeditor/fckeditor/ 目录下有个文件 COPY_HERE.txt, FCKeditor_2.6.2.zip 解压后,把里面的东西通通放在这个目录下。
3,启用模块
主页 >> 管理 >> 站点创建 >> 模块
other 里面启用 FCKeditor, 保存配置。
4,设置用户权限
主页 >> 管理 >> 用户管理 >> 访问控制
"fckeditor 模块",设置“认证用户”允许“access fckeditor”,如果允许上传文件则选上“allow fckeditor file uploads”.
5,启用 teaser break 和 page break 按钮
打开 sites/all/modules/fckeditor/fckeditor.config.js 把下面三行的注释去掉:
FCKConfig.PluginsPath = '../../plugins/' ;
FCKConfig.Plugins.Add( 'drupalbreak' ) ;
FCKConfig.Plugins.Add( 'drupalpagebreak' ) ;
下面添加工具条按钮,还是在这个文件里,找到这行:
['Image','Flash','Table','Rule','SpecialChar']
改成:
['Image','Flash','Table','Rule','SpecialChar', 'DrupalBreak', 'DrupalPageBreak']
6,修改 FCKeditor profile,
主页 >> 管理 >> 站点配置 >> FCKeditor
编辑各种角色的权限,在 File browser settings 中设置允许上传文件为 true;Editor Appearance 中的 Toolbar 改成"DrupalFull", 这样两个break按钮才能显示出来。
7,另外,sites/all/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php 中,找到第30行的:
$Config['Enabled'] = false ;
改为 ture,否则上传文件时会出现连接器错误。
8, 主页 >> 管理 >> 站点配置 >> 输入格式,把 Full HTML 设为默认格式,否则插入的图片会显示不出来通过编辑sites/all/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php文件,
设置如下信息
$Config['Enabled'] = true ;
$Config['UserFilesPath'] = '/drupal/userfiles/' ; #相对于/var/www/这个DocumentRoot变量的路径
$Config['UserFilesAbsolutePath'] = '/var/www/drupal/userfiles/' ; #这里是绝对路径,注意linux和windows的区别。
这三项都是必须的,否则通过FCKeditor上传都无法工作,出现相应错误。
更多功能:
修改上传方式
Fckeditor编辑器上传方法有两种:QuickUpload 和 FileUpload。
QuickUpload是所有的上传文件都是一个文件夹中,也就是图片img,flash动画swf等都存放在userfiles文件夹中。
FileUpload是把不同类型的文件区别,自动在userfiles文件夹下生成image,flash等目录用以存放相应的文件。
默认为QuickUpload上传方式。
修 改上传方式:打开sites/all/modules/fckeditor/fckeditor/editor/filemanager /connectors/php/upload.php文件,找到 $sCommand = 'QuickUpload' ; 修改为 $sCommand = 'FileUpload' ; 就可以了。
自动生成随机文件名
Fckeditor上传文件都不会改变原来的文件名字,即a.jpg上传到服务器上还是a.jpg,当有上传同名的文件时就会出现问题,上传中文名字的文件时也会出现访问乱码。所以,要改为自动生成随机文件名。
找到 fckeditor\editor\filemanager\upload\php 下面的commands.php文件,打开。
在183行 $sExtension = strtolower( $sExtension ) ; 下面增加如下语句:
// GetID
$sFileName = GetID( ".".$sExtension );
$sOriginalFileName = $sFileName ;
在文件末尾添加GetID函数
//生成随机文件名
function GetID($prefix) {
//第一步:初始化种子
//microtime(); 是个数组
$seedstr =split(" ",microtime(),5);
$seed =$seedstr[0]*10000;
//第二步:使用种子初始化随机数发生器
srand($seed);
//第三步:生成指定范围内的随机数
$random =rand(1000,10000);
$filename = date("YmdHis", time()).$random.$prefix;
return $filename;
}
自动按日期创建目录
默认文件保存方式都在文件目录中,当文件量大的时候管理就很不方便。所以需要根据日期自动创建目录。
在这里修改config.php即可,在文件最后增加以下内容:
//===============================================================================
//Auto creat upload document folder
//===============================================================================
// Auto creat upload document folder.
$Config['AutoDocumentFolder'] = date("Ymd", time()) . '/' ;
$Config['FileTypesPath']['File'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesAbsolutePath']['File'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadPath']['File'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadAbsolutePath']['File'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesPath']['Image'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesAbsolutePath']['Image'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadPath']['Image'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadAbsolutePath']['Image'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesPath']['Flash'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesAbsolutePath']['Flash'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadPath']['Flash'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadAbsolutePath']['Flash'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesPath']['Media'] .= $Config['AutoDocumentFolder'];
$Config['FileTypesAbsolutePath']['Media'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadPath']['Media'] .= $Config['AutoDocumentFolder'];
$Config['QuickUploadAbsolutePath']['Media'] .= $Config['AutoDocumentFolder'];
//===============================================================================
//end
//===============================================================================
NOTE: 如果要卸载某个模块,先要把该模块的Enabled的“对勾”给去掉,然后通过Administer->Site building->Menus->Modules最上面右侧的Uninstall按钮把它卸载掉。
-------------------------------------------
i3server
i3server
www.86-00.com
没有评论:
发表评论