dedecms使用50个常见问题

2012-01-13 14:35 来源:www.chinab4c.com 作者:dedecms专家

    我们通过对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/}
  16:如何调用dedecms模板中全局变量
   $GLOBALS['envs']['flinkid']