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

dedecms的前台会员发布文章的功能,用ckeditor就有点问题了,会员上传图片,用ckeditor的话,非管理员账号点击上传图片按钮时会弹出:提示:需输入后台管理目录才能登录,真的是很郁闷啊,遇到此问题的朋友可以看看哦

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中适用,只要编码相同,直接上传更新即可


支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论