我们通过对dedecms常见问题和二次开发问题,通过长期对dedecms的操作使用,为了更加方便广大的dedecms用户更好的使用dedecms.我们将通过本文统计了一些dedecms使用的常见问题。供应大家参考.
1:dedecms文章录入的时候,如何控制文章重复.
在dede/article_add.php里面,加入该程序就OK了
if($cfg_check_title == 'Y'){
$has = $dsql->GetOne("select * from dede_archives where title = '".$title."'");
if($has){
ShowMsg('该文章标题已经存在了', '-1');
exit();
}
}
2:dedecms后台系统设置里的配置搜索不能搜索中文,请问怎么解决
回答:sys_info.php的第110行下面增加以下代码。
$keywords = iconv("GBK","UTF-8",$keywords);
3:dedecms实现搜索结果伪静态
RewriteRule ^plus/search(.*)(.*)\.html$ plus/search\.php\?q=$1&searchtype=$2 [QSA,L]
然后head.htm修改成 <form name="formsearch" action="{dede:global.cfg_cmsurl/}/plus/search.html">
4:dedecms文章页面调用所属分类地址
$info = $this->dsql->GetOne("select * from dede_arctype where id ='".$arr['typeid']."'");
$this->Fields['cat_url']= $this->TypeLink->GetOneTypeUrl($info);
5:dedecms如何通过loop标签来调用dedecms文章标题.
{dede:loop tablename="dede_archives" row="4" sort="id" orderway="asc"}
[field:arcurl/]
{/dede:loop}
loop标签里面增加这个代码
$row1 = $dsql->GetOne("select * from dede_arctype where id = '".$row['typeid']."'");
$row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
$row['arcrank'],$row1['namerule'],$row1['typedir'],$row['money'],$row1['filename'],$row1['moresite'],$row1['siteurl'],$row1['sitepath']);
6:如何调用当前栏目的分类id
{dede:field.typeid/}这样就可以
7:dedecms文章列表调用文章关键字
include/arc.listview.class.php的第858行下面增以下代码$row['keywords'] = $row['keywords'];模板里面这样调用[field:keywords/]
8:dedecms如何控制每个会员每天发布一篇文章.
member/article_add.php里面的第55行下面增加以下代码
$pubdate = $dsql->GetOne("select pubdate from dede_archives where writer ='".$writer."' order by id desc limit 1");
if((time()-$pubdate['pubdate'])<(3600*24)){
ShowMsg("对不起,一个会员每天只能发一篇文章!","-1","0",5000);
exit;
}
9:dedecms发布文章增加和减少会员积分如何实现
member/article_add.php里面这段代码
$dsql->ExecuteNoneQuery("UPDATE `dede_member` set scores=scores+{$cfg_sendarc_scores} WHERE mid='".$cfg_ml->M_ID."' ; ");这个默认是增加积分。如果你要减少他积分。直接这样
$dsql->ExecuteNoneQuery("UPDATE `dede_member` set scores=scores-{$cfg_sendarc_scores} WHERE mid='".$cfg_ml->M_ID."' ; ");
10:dedecms首页如何调用评论时间.
回答:includes/taglib/feedback.lib.php里面要增加以下代码
$arr['dtime'] = MyDate("Y-m-d",$arr['arctitle']);
模板中直接这样调用[field:dtime/]
11:如何让dedecms的type模板标签支持调用description栏目描述.
回答:include/taglib/type.lib.php
里面的SQL修改成这个SELECT id,typename,typedir,description,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE id='$typeid' "
然后在dedecms模板中直接调用[field:
description /]
12:dedecms分类中怎么调用文章来源
回答:首先在include/arc.listview.class.php里面这样调用。
$row['source'] = $row['source'];
其次在
dedecms模板list_aritcle.htm中,这样调用 <small>来源:</small>[field:source/]
13:dedecms怎么让文章发布时间显示当天时间
回答:dedecms模板中{dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}修改成{dede:field.pubdate function="MyDate('Y-m-d H:i')"/}
14:dedecms位置导航如何修改成以下模式,删除首页连接原始代码:主页>一级栏目 > 二级栏目>,当前位置修改成: >一级栏目 > 二级栏目>
回答:在dedecms中的include/typelink.class.php里面这个代码$this->valuePosition = $indexpage.$this->SplitSymbol.$this->valuePosition;
修改成以下代码
$this->valuePosition = $this->valuePosition;
15:dedecms文章页面如何调用所属分类。
回答:include/arc.arcchives.class.php里面,增加以下代码$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];dedecms文章模板这样调用{dede:field.typename/}