在DedeCMS中,会员发布文章时可能需要上传一些特定的附件类型,例如doc、xls、ppt等。这对于技术文档类行业站点尤为重要。本文将详细介绍如何修改DedeCMS 5.3和5.5版本,以支持会员上传这些类型的附件。


要实现这一功能,我们需要对几个文件进行修改。以下是具体步骤:


1. 修改\\\\include\\\\FCKeditor\\\\fckconfig.js


找到以下代码:


FCKConfig.ToolbarSets["Member"] = [
    ['Source','Preview','-','PasteText','PasteWord','-','Bold','Italic','Underline','StrikeThrough'],
    ['ImageUser','FlashUser','-','Link','Unlink','-','Table','Rule','Codes','Quote','Br','-','TextColor','FontSize']
];
        

将其替换为:


FCKConfig.ToolbarSets["Member"] = [
    ['Source','Preview','-','PasteText','PasteWord','-','Bold','Italic','Underline','StrikeThrough'],
    ['ImageUser','FlashUser','AddonUser','-','Link','Unlink','-','Table','Rule','Codes','Quote','Br','-','TextColor','FontSize']
];
        

同样,对于:


FCKConfig.ToolbarSets["MemberLit"] = [
    ['Source','Preview','-','PasteText','PasteWord','-','Bold','Italic','Underline','StrikeThrough'],
    ['ImageUser','FlashUser','-','Link','Unlink','-','Table','Rule','Codes','Quote','Br','-','TextColor','FontSize']
];
        

替换为:


FCKConfig.ToolbarSets["MemberLit"] = [
    ['Source','Preview','-','PasteText','PasteWord','-','Bold','Italic','Underline','StrikeThrough'],
    ['ImageUser','FlashUser','AddonUser','-','Link','Unlink','-','Table','Rule','Codes','Quote','Br','-','TextColor','FontSize']
];
        

2. 修改\\\\include\\\\FCKeditor\\\\editor\\\\js\\\\fckeditorcode_ie.js 和 \\\\include\\\\FCKeditor\\\\editor\\\\js\\\\fckeditorcode_gecko.js


编辑fckeditorcode_ie.js,在以下代码后添加:


case 'Addon':B=new FCKDialogCommand('Addon',FCKLang.InsertAddon,'dialog/dede_addon.php',480,250);break;
        

添加:


case 'AddonUser':B=new FCKDialogCommand('AddonUser',FCKLang.InsertAddon,'dialog/dede_addonuser.php',480,250);break;
        

同样,在以下代码后添加:


case 'Addon':B=new FCKToolbarButton('Addon',FCKLang.InsertAddon,FCKLang.InsertAddon,null,false,true,76);break;
        

添加:


case 'AddonUser':B=new FCKToolbarButton('AddonUser',FCKLang.InsertAddon,FCKLang.InsertAddon,null,false,true,76);break;
        

对fckeditorcode_gecko.js进行类似的修改。


3. 在\\\\include\\\\FCKeditor\\\\editor\\\\dialog目录下,复制dede_addon.php并重命名为dede_addonuser.php。


编辑dede_addonuser.php,将:


require_once(dirname(__FILE__)."/../../../common.inc.php");
        

替换为:


require_once(dirname(__FILE__)."/../../../../member/config.php");
CheckRank(0,0);
        

同时,将:


window.open("../../../dialog/select_soft.php?f="+fname, "popUpSoftWin", "scrollbars=yes,resizable=yes,statebar=no,width=500,height=350,left="+posLeft+", top="+posTop);
        

替换为:


window.open("../../../../member/uploads_select.php?mediatype=4&f="+fname, "popUpSoftWin", "scrollbars=yes,resizable=yes,statebar=no,width=500,height=350,left="+posLeft+", top="+posTop);
        

4. 登录后台管理界面,开启会员上传图片以外附件的功能。


5. 完成所有修改后,测试功能是否正常。