在开发Dedecms CMS模板时,有时站长需要调用文章部分内容。然而,默认的[field:description/]标签字数有限,且修改文章内容后摘要仍需手动调整,因此只能选择调用文章正文内容。本文将介绍两种通过dede:arclist标签实现Dedecms CMS列表页调用文章正文的方法。
第一种方法如下:
{dede:arclist flag='h' row='10'}
[field:title/]
[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]
【阅读详细】
{/dede:arclist}
上述代码中,“400”表示调用的内容长度。需要注意的是,如果文章正文中包含HTML代码,这些代码也会被调用出来。为避免此问题,可以使用html2text()函数进行处理。
第二种方法基于Dedecms CMS自定义模型内容数据调用原理,将文章模板的body字段视为自定义字段。调用代码如下:
{dede:arclist row='10' addfields='body' channelid='1'}
[field:body function='cn_substr(html2text(@me),600)'/]…
[详情]
{/dede:arclist}
以下是第二种方法的详细说明:
addfields="字段一,字段二...":指定要调用的附加字段。
channelid:模型编号,默认文章模型为1,可在后台-核心-内容模型管理中查看。
function='cn_substr(html2text(@me),600)':将正文内容转换为纯文本并截取前600个字符。
这两种方法各有优劣。第一种方法较为复杂,不易理解;而第二种方法则相对简单直观,更适合大多数用户使用。推荐采用第二种方法来实现Dedecms CMS列表页调用文章正文的功能。
以上内容旨在帮助开发者更好地理解和应用Dedecms CMS功能,提升网站开发效率。