DEDECMS是一款很受站长欢迎的CMS,基于PHP+MYSQL开发的开源网站管理系统。

相信有不少站长都使用过DEDECMS。

DEDECMS很好用,简单方便,但有时候有一些功能问题,靠官方解决是不大可能,而官方论坛基本上也冷暖自知。

下面整理一些可能用到的修改技巧,不定期持续更新。

1,memberinfos 标签不能调用管理员信息

memberinfos标签只能在内容页使用,可以读取该篇文档的作者相关信息。比如用户名,头像等资料。

但如果文章是后台采集,或者是管理员发布的,那么这个标签是读不出管理员数据的。

怎么让memberinfos能读取管理员的信息呢?

修改方法:
打开:

include/taglib/memberinfos.lib.php

找到:

if($row['matt']==10) return '';

注释掉这一行即可,例如:

//if($row['matt']==10) return '';
2,DEDECMS 会员空间不能分页

DEDECMS的会员空间如果存在多篇文档超出一页,不能分页,而且一直显示只有0篇文档。

这个BUG存在N多年了,官方一直没有处理。

解决办法:

打开:

include/arc.memberlistview.class.php

找到:

$countQuery = preg_replace("/select[ \r\n\t](.*)[ \r\n\t]from/i","Select count(*) as dd From",$this->sourceSql);

修改为:

$countQuery = preg_replace("#SELECT[ \r\n\t](.*)[ \r\n\t]FROM#is", 'SELECT COUNT(*) AS dd FROM', $this->sourceSql);
 $countQuery = preg_replace("#ORDER[ \r\n\t]{1,}BY(.*)#is", '', $countQuery);

3,Safe Alert: Request Error step错误

最新的DEDECMS V5.7增强了SQL语句防注入功能引了的安全警告。
目前暂时没有完美的解决办法。
检查相关的页面模板,去掉或改写SQL语句。
具体涉及的页面,可以在data目录中查看md5编码的.txt的文件。
临时解决办法:
打开:

include/dedesql.class.php

找到:

$this->safeCheck = true;

修改为:

$this->safeCheck = false;

如果网站未出现这个错误,不建议修改,对网站安全会有一定隐患。

4,DEDECMS文章收藏功能 文章路径错误问题

文章内容页中的收藏功能收藏的文章路径有问题,收藏成功后在会员管理中的“我的收藏”中的列表中文章标题是对的,但文章的链接路径错误的完美解决方案:
打开:

member/templets/mystow.htm

找到:

<a href='<?php echo $row['url']?>' target='_blank'><?php echo $row["title"]?></a>

修改为:

<a href='archives_do.php?dopost=viewArchives&aid=<?php echo $row["arcid"]?>' target='_blank'><?php echo $row["title"]?></a>
5,DEDECMS收藏夹的文章无法删除

打开:

member/archives_do.php

找到:

$dsql->ExecuteNoneQuery("DELETE FROM #@__member_stow WHERE aid='$aid' AND mid='".$cfg_ml->M_ID."' AND type='$type';");

修改为:

$dsql->ExecuteNoneQuery("DELETE FROM #@__member_stow WHERE aid='$aid' AND mid='".$cfg_ml->M_ID."';");
6,DEDECMS留言本刷新重复提交的BUG

DEDECMS默认的留言板有一个BUG,那就是用户提交一个留言后再刷新就会出现重复提交的现象,如果无限刷新就会无限提交。
解决办法:
打开:

plus/guestbook.php

找到:

if($needCheck==1)

在上面添加一行:

ResetVdValue(); //防刷新

更多DEDECMS修改技巧及问题解决方法,后期持续更新,敬请观注!

标签: dedecms

添加新评论