• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦dedecms中常见问题修改方法总结
    POST TIME:2021-05-24 02:47
    织梦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/] 
    关于后台登陆验证码样式的修改 
    http://bbs.dedecms.com/read.php?tid=6244 
    当文章描述中出现的英文长度大于table的宽度时,会搞的很难看 
    [field:textlink /] 
    改为 
    <a href=‘[field:arcurl /]‘>[field:title function=‘cn_substr(@me,30)‘ /]</a> 
    新建频道模型教程 
    http://bbs.dedecms.com/read.php?tid=5972 
    dedecms实现列表页双样式 
    <table width=‘100%> 
    {dede:list type=‘full‘} 
    <tr> 
    <td class=‘[field:ID function=‘MagicVar("arch2","arch2")‘/]‘><b>[field:typelink /] [field:textlink /]</b>点击:[field:click /]([field:stime /])</td> 
    </tr> 
    {/dede:list} 
    </table> 
    我想实现一个功能,就是在文章列表中(模板list_article)如果文章有缩略图就显示缩略图,没有的话则直接显示文章列表而不显示“没有缩略图”的图片。 
    dedecms的扩展是用function形式的,因为加入if这种结构太占用资源,如果你有必要,你可以这样: 
    [field:picname function="GetMyPic(‘@me‘)"/] 
    在 inc_functions.php 里定义一个函数 
    function GetMyPic($img) 
    if($img=="") return ""; 
    else return "<img src=‘$img‘ width=‘120‘ height=‘100‘ border=‘0‘>"; 
    这样来处理 
    这种做法可能会有点不便,但好处是既达到扩展目的,又不会占用太大资源,又不影响模板结构,实现真正的模板与代码分离 
    点击图片进入下一页  
    打开include/inc_archives_view.php 
    大概在444行左右,找到 
    $this->Fields[$this->SplitPageField]=$this->Fields[$this->SplitPageField]; 
    注释掉,改为 
    $this->Fields[$this->SplitPageField]=$this->ClickPicNext($this->Fields[$this->SplitPageField]); 
    然后,最后加上函数,注意在最后一个括号里面! 
    //把图片替换成链接 
    //---------------------------- 
    function ClickPicNext(&$body) 
    if($this->NowPage!=$this->TotalPage){ 
      $lPage=$this->NowPage+1; 
      $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\&;|‘| ]{0,}((.*)>)/isU","<a href=‘".$this->NameFirst."_".$lPage.".".$this->ShortName."‘>"."\${0}"."</a>",$body); 
      //$body="<a href=‘".$this->NameFirst."_".$lPage.".".$this->ShortName."‘>".$body."</a> "; 
    }else{ 
      if($this->GetNext()){ 
        $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\&;|‘| ]{0,}((.*)>)/isU","<a href=‘".$this->GetNext()."‘>"."\${0}"."</a>",$body); 
        //$body="<a href=‘".$this->GetNext()."‘>".$body."</a> ";    
      } 
      return $body; 
    自动地把文章中的图片替换为下一页的链接,如果是最后一页,则为下一篇! 
    注意:先要按下面的改法,把上一篇下一篇分开才行! 
    [dede3.1][改法]上一篇下一篇分开调用,且限定文章所在栏目内而不是现在的全站。 
    http://bbs.dedecms.com/read.php?tid=5051  
    在文章列表中,有的标题被截断了,用什么样的代码可以让鼠标在上面的时候可以显示完整的文件名? 
    {dede:arclist row=16 orderby=pubdate col=1 typeid=3} 
    <li>· <a href="[field:arcurl /]" title ="[field:title/]">[field:title function="cn_substr(‘@me‘,30)" /]</a></li> 
    {/dede:arclist} 
    怎么样在文章名前面显示所属的文章栏目? 
    {dede:arclist row=10 orderby=pubdate} 
    ·[field:typelink/] [field:textlink/]<br/> 
    {/dede:arclist} 
    生成的文章文件名能不能增加MD5加密 
    自己改一下,这种属于典型的无聊需求吧 
    include/inc_channel_unit_functions.php 
    [field:writer /]怎么没有用 
    lit版inc_arcpart_view.php没有读取附加表 
    修改include\inc\inc_fun_SpGetArcList.php第120行,在后面加 arc.writer, 
    当然你也可以加入你还想引入的附加表内容如: 
    arc.writer,arc.source,arc.shorttitle, 
    新安装的DEDECMS3.0.1,第一次登陆就说我密码错误! 
    你要查一下是否有 dede_admin 这个表,如果有,看看有没有数据, 
    如果用户名和密码没有不允许的符号的话, 
    一般是服务器可能能无法完成安装的SQL导入才可能会提示用户名不存在 
    手工加个用户就OK了. 
    也可以在数据库中删除表dede_admin,然后重新安装即可 
    关于listpage分页在生成会有表格的修改  
    搜索  
    //获取静态的分页列表 
    在下面的几行可以看到分页的一些东东 
    关于栏目多风格和系统底层模版的问题  
    用arclist 
    {dede:arclist 
    typeid=‘‘ row=‘‘ col=‘‘ titlelen=‘‘  
    infolen=‘‘ imgwidth=‘‘ imgheight=‘‘ listtype=‘‘ orderby=‘‘ keyword=‘‘} 
    自定义样式模板(InnerText)   //这里定义你显示的样式..不要修改底层模板了..免得你自己麻烦. 
    {/dede:arclist} 
    另外栏目的模板可以不使用系统默认的{style}/list_article.htm 
    你可以手工指定栏目的封面模板或是列表模板嘛..列如:{style}/list_class1.htm 
    {style}/list_class2.htm 
    等.这样就可以多风格了嘛. 
    用dedecms做小说站的思路  
    1、新建两个模型 
    book模型和章节模型 
    2、重新写档案发布程序,关键把两个模型关联起来,而现在提供内容模型的cmsware 和dede都是办不到的,而dede自建频道提供的档案发布程序项可以很好的利用。重新些这四个文件(两个界面和两个提交后处理的程序)即可。 
    3、如果要做成起点中文网哪种模式,那就要在member目录下写关于投稿的程序,以及在plus里面写业务模式如计费、计点等功能的程序。 
    其实, dede只是一个内容发布的框架,提供的后台工具只针对管理员而已,用户完全可以自我定制各种模型,不过要对dede熟悉一点而已。 
    能写程序的不妨一试。 
    为什么我的自定义标记总是被当做文本来输出 
    标记里要加上 ismake=‘yes‘ 属性 
    对图片SEO的一些思考, 
    <a href=‘[field:arcurl /]‘><img src=‘[field:picname /]‘ alt=‘[field:title /]‘ border=‘0‘ width=‘imgwidth‘ height=‘imgheight‘></a> 
    参考arclist标记的说明,, 
    dede编辑器的问题..从WORD复制进去的错误 
    复制后安 工具栏 上那个右下角有黄色T的粘贴按钮~~~移上去有提示的,无格式粘贴  
    标签的定义放在什么地方的 
     
    第1页内容 
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!