欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  程序教程

织梦DedeCMS列表页调用文章正文方法

程序员文章站 2022-02-10 21:25:58
...

在制作织梦模板的时候,有的站长需要调用文章部分内容,用[field:description/]标签字数不够多,另外修改了文章内容但是摘要还需要手动修改,所以只能调用文章正文部分的内容了。实现织梦DedeCMS列表页调用文章正文的方法有两种,不过都是使用的dede:arclist标签,如果使用dede:list标签的话,第一种方法是调用不出结果的。

以下是织梦DedeCMS列表页调用文章正文的第一种方法:

{dede:arclist flag='h' row='10′}<h1><a href="https://www.noniu.com/jiaocheng/[field:arcurl/]">[field:title/]</a></h1><p>[field:id runphp='yes']$aid = @me;$row = $GLOBALS['dsql']->GetOne("Select body From 'dede_addonarticle' where aid='$aid' ");@me = cn_substr(strip_tags("{$row['body']}"),400);[/field:id]<a href="https://www.noniu.com/jiaocheng/[field:arcurl/]">【阅读详细】</a></p>{/dede:arclist}

代码中的数字400是用来设置需要调用多少内容的,因为调用的是body里面的内容,如果有里面包含代码的话也会被调用出来,这点比较不好,不过可以使用html2tex()函数解决一下。

第二种方法则是利用了织梦可以自定义模型内容数据,并调用的原理,把文章模板的body字段看做在自定义的。调用的代码如下

{dede:arclist row='10' addfields='body' channelid='1'}<p>[field:body function='cn_substr(html2text(@me),600)'/]...</p><span class="more"><a href="https://www.noniu.com/jiaocheng/[field:arcurl/]" style="text-decoration:none;color:#990000;">[详情]</a></span>{/dede:arclist}

以下是这种方法的详细说明:

  1. addrields="字段一,字段二…"
  2. idlist:文章编号,调用指定内容
  3. function=’cn_substr(html2text(@me),600)’ 将文章内容转化为文字格式
  4. channelid,模型编号,文章默认为1,查看位置:后台–核心–内容模型管理

两种方法各有优劣,第一种方法比较繁琐,不是那么容易看懂。还是比较推荐采用第二种方法实现织梦DedeCMS列表页调用文章正文的功能的。

相关标签: 织梦标签