dedecms列表中显示文章的完整标题

在网上搜索了一下有很多答案,但是都是下面这个:
我困惑了好久,因为5.3版本里面根本就没有inc_fun_SpGetArcList.php这个文件,后来我查看了下程序,这个文件应该是已经给合并到 arc.listview.class.php了,并且在 675 行已经有了 $row[‘fulltitle’] = $row[‘title’];
所以要调用完整标题,只需要在模板里

  • [field:alltitle/]
  • 当然我相信老版本的对一下的方法还是很实用的:
    dedecms通过标签arclist输出文章列表的时候,文章的标题会被titlelen属性截取为指定长度的字符串, 但是我们在实际使用的过程中,经常会用到文章标题的完整内容,在dedecms中如何实现呢,方法很多,这里推荐通过小小的修改程序,达到目的。
    解决方法:
    修改include\inc\inc_fun_SpGetArcList.php文件,修改函数SpGetArcList,找到以下代码:

    $row['typelink'] = "".$row['typename']."";
    $row['image'] = "".ereg_replace("[<]","",$row['title'])."'>";
    $row['imglink'] = "".$row['image']."";
    $row['title'] = cn_substr($row['title'],$titlelen);
    $row['textlink'] = "".$row['title']."";
    if($row['color']!="") $row['title'] = "".$row['title']."";
    if($row['iscommend']==5||$row['iscommend']==16) $row['title'] = "".$row['title']."";
    

    修改为:

    $row['typelink'] = "".$row['typename']."";
    $row['image'] = "".ereg_replace("[<]","",$row['title'])."'>";
    $row['imglink'] = "".$row['image']."";
    $row['alltitle'] = $row['title']; //增加文章标题属性支持
    $row['title'] = cn_substr($row['title'],$titlelen);
    $row['textlink'] = "".$row['title']."";
    if($row['color']!="") $row['title'] = "".$row['title']."";
    if($row['iscommend']==5||$row['iscommend']==16) $row['title'] = "".$row['title']."";
    

    代码中增加了
    $row[‘alltitle’] = $row[‘title’];
    重新定义一个数组变量存放标题的内容。
    然后你在模板中就可以使用类似[field:alltitle/]这样的标签调用文章完整标题。
    例如:

    {dede:arclist typeid='0' row='6' titlelen=32 orderby='pubdate'}
    
  • [field:title/]
  • {/dede:arclist}

    Comments are closed.