dedecms5.7 文章不能发布问题探讨及解决方法

1.dedecms5.7默认的编辑器变成ckeditor了,我个人感觉ckeditor比FCKeditor好,对这次变更还是挺满意的。 
不过dedecms的前台会员发布文章的功能,用ckeditor就有点问题了,本身给前台会员投稿不需要太多的功能,还有就是会员上传图片,用ckeditor的话,非管理员账号点击上传图片按钮时会弹出:提示:需输入后台管理目录才能登录,网上看到的解决方法是 
注释掉“/include/dialog/congig.php”中的以下代码: 

代码如下:

if($cuserLogin->getUserID()<=0) 

if(empty($adminDirHand)) 

ShowMsg("<b>提示:需输入后台管理目录才能登录</b><br/><form>请输入后台管理目录名:<inputtype='hidden'value='".urlencode($dedeNowurl)."'/><inputtype='text'value='mgr'/><inputtype='submit'value='转入登录'/></form>","javascript:;"); 
exit(); 

$gurl="../../{$adminDirHand}/login.php?gotopage=".urlencode($dedeNowurl); 
echo"<scriptlanguage='javascript'>location='$gurl';</script>"; 
exit(); 

但是这样没有登录的用户也能显示那个页面了,虽然有一个报错。还有就是所有的用户都可以直接看到上传根目录下的所有文件,这样安全性大大降低了。于是,开始怀恋FCKeditor的前台上传图片功能,上传文件是用户单独的目录下,也没有权限问题,所以决定让后台继续用ckeditor,前台用户使用FCKeditor。

在网站目录\include\inc\inc_fun_funAdmin.php文件中,找到139行,functionSpGetEditor函数,if($GLOBALS['cfg_html_editor']=='fck')换成if($GLOBALS['my_html_editor']=='fck'||$GLOBALS['cfg_html_editor']=='fck'),然后再前面 

代码如下:

if(!isset($GLOBALS['cfg_html_editor'])) 

$GLOBALS['cfg_html_editor']='fck'; 

接着跟上一句 

代码如下:

if(!isset($GLOBALS['my_html_editor'])) 

$GLOBALS['my_html_editor']='0'; 

然后在需要使用FCKeditor的文件上方加上$GLOBALS['my_html_editor']='fck';比如要在会员普通文章中使用这个编辑器,则在article_add.php最上方加上$GLOBALS['my_html_editor']='fck'; 
刷新一下页面,成功。 
说明:dedecms5.7自带没有FCKeditor,可以从5.6版本中提取,放在include目录下。 
2.此问题是从5.6升级到5.7再导入老数据库3表(附加表,主表,微表)后出的问题。 
因为DEDECMS5.7比5.6文章多了投票,所以archives表多了一个votid字段。 
所以必须增加这个字段。否则发布或修改文章的时候会提示更新dede_archives出错。 
解决办法: 
请在后台SQL命令行输入以下命令后运行: 

代码如下:

ALTERTABLE`dede_archives`ADD`voteid`mediumint(8)NOTNULL; 

执行以上命令之后,问题就能完美解决。 
另外,升级还有类似dede后台目录对应的问题,默认dede后台目录,你得把升级文件中dede目录的文件上传到你自己设置的后台目录中。 
5.6的默认模板同样可以在5.7中适用,只要编码相同,直接上传更新即可