当前位置 : 主页 > 建站教程 > dedecms >

织梦dedecms中常见问题修改方法总结

来源:互联网 收集:自由互联 发布时间:2021-12-22
织梦dedecms中常见问题修改方法总结 ,新手常见问题,有些问题已得到修正,不过仍可作为修改或学习参考 。 请大家花点耐心看完这个吧,这些问题很多人都有碰到.何必要不停的发贴子问呢?  另外,看完这个请去你自己的后台看完模板标记参考!!特别是arclist这个标记的参数说明!!  多思考一下问题,多试验一下标记,,学到就是自己的,学不到,谁也帮不到你!!  补充一点..很多标记都可以参考系统默认的模板和模板区的一些好模板,多看标记体会每个标记的用法,  下文如果有您的贴子..感谢您对DEDE的匏礁冻?.  3.1lit最新版当一级栏目为最终列表栏目时,使列表显示其下级栏目的文章的修改  include/inc_arclist_view.php  80行:  $addSql .= " And (typeid=‘".$this->TypeID."‘ or typeid2=‘".$this->TypeID."‘) ";  更改为:  //增加的,用来解决上级列表调用不出下级列表的问题      $ssid = TypeGetSunID($this->TypeID,$this->dsql);      $ssid2 = str_replace(‘typeid‘,‘typeid2‘,$ssid);      //结束增加的      $addSql .= " And (typeid=‘".$this->TypeID."‘ or ".$ssid." or typeid2=‘".$this->TypeID."‘ or ".$ssid2.") ";//本句也已修改  上面这部分用来解决分页问题  include/inc/inc_fun_SpGetArcList.php  70行开始:  if($ridnum>1){      $tpsql = "";      for($i=0;$i<$ridnum;$i++){          if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,‘arc‘);          else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,‘arc‘);      }      $tpsql .= ") ";      $orwhere .= $tpsql;      unset($tpsql);      }      else{      $orwhere .= " And ".TypeGetSunID($typeid,$dsql,‘arc‘);      }  更改为:  if($ridnum>1){      $tpsql = "";      for($i=0;$i<$ridnum;$i++){          if($tpsql=="") {          //开始修改文章第二栏目调用问题          $ssid = TypeGetSunID($reids[$i],$dsql,‘arc‘);          $ssid2 = str_replace(‘typeid‘,‘typeid2‘,$ssid);          $tpsql .= " And (".$ssid." or ".$ssid2;}          else {          $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,‘arc‘);          $tpsql .= str_replace(‘typeid‘,‘typeid2‘,$tpsql);}      }      $tpsql .= ") ";      $orwhere .= $tpsql;      unset($tpsql);      }      else{      $ssid = TypeGetSunID($typeid,$dsql,‘arc‘);      $ssid2 = str_replace(‘typeid‘,‘typeid2‘,$ssid);      $orwhere .= " And (".$ssid." or ".$ssid2.") ";//结束修改文章第二栏目调用问题      }  此部分用来解决调用下级栏目文章列表问题  替换的代码我写的很粗糙,可以暂时先用着,等官方的解决方案出来后再替换  在 include/inc_arclist_view.php还要改一处:  //获得一个单列的文档列表  下      //类别ID的条件      $orwhere .= " And (dede_archives.typeid=‘".$this->TypeID."‘ or dede_archives.typeid2=‘".$this->TypeID."‘) ";  改为:      //类别ID的条件        $ssid = TypeGetSunID($this->TypeID,$this->dsql);      $orwhere .= " And (dede_archives.typeid=‘".$this->TypeID."‘ or ".$ssid." or dede_archives.typeid2=‘".$this->TypeID."‘) ";  否则有页面没有列表内容,因为80行是Select count(*).....  关于那个栏目路径有个{cmspath}  首先说一下{cmspath}的意思,,打开后台"系统配置参数"可以看到第二项,DedeCms安装目录:   这个就是{cmspath}所解析出来的路径,  如果beta2升级到lit,需要手工修改栏目属性,把{cmspath}去除.或者你运行setup升级完之后用lit的所有文件  替换掉之前的B2的所有文件,这样{cmspath}就可以正常解析成你的网站路径  如果你不用{cmspath}这个参数,.可以照下面的修改  执行SQL: update dede_arctype set typedir=replace(typeidr,‘{cmspath}‘,‘‘);  以去掉数据库的里 {cmspath}  然后修改文件 catalog_add.php 找到 $true_typedir = str_replace("{cmspath}",$cfg_cmspath,$typedir);  改成  $true_typedir = str_replace("",$cfg_cmspath,$typedir);  就行  [field:description /]这个标签如何限制字数?  [field:description function=‘cn_substr(@me,80)‘/]  dede 里的所有标记都支持这样使用函数的  关于3.1版友情链接添加后在首页没有显示的问题  引起这个的主要原因是BLT在编写的时候把表 dede_flink的ischeck的值弄反了造成的.  在3.01里..ischeck=1表示首页链接..2表示内页链接,但3.1正好相反,  给一个最简直的改法就是打开inc_fun_SpGetFriendLink.php  找到第13行..  CODE:  $wsql = " where ischeck=1 ";   [Copy to clipboard]  将1改为2就行了.  11.11更新过后,取消了inc_fun_SpGetFriendLink.php这个文件的调用.  所以只须要打开inc_arcpart_view.php  在410行附近  CODE:      $wsql = " where ischeck=1 ";      if($type=="p_w_picpath") $wsql .= " And logo<>‘‘ ";      else if($type=="text") $wsql .= " And logo=‘‘ ";      else $wsql .= "";  [Copy to clipboard]  同样将where ischeck=1改为2就可以  3.1LIT版广告名称修改后无效的解决办法  http://bbs.dedecms.com/read.php?tid=7135  看4楼的回贴.  dede新版如何去掉列表的文章摘要  删除[field:info/]  关于后台登陆验证码样式的修改 
网友评论
相关栏目