php,{dede:field name='body'/},
“织梦DedeCMS是一款广泛使用的开源内容管理系统,常用于搭建各种类型的网站,在实际应用中,有时需要在首页或列表页直接调用文章的正文内容,以下是两种常用的方法来解决这个问题:
第一种方法:使用dede:arclist标签和runphp属性
1、代码示例:
{dede:arclist flag='h' row='10'} <h1><a href='[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='[field:arcurl/]'>【阅读详细】</a></p> {/dede:arclist}
2、代码说明:
<h1></h1>
内的代码用于调用文章标题和链接。
<p></p>
内的代码用于调用文章内容,数字400表示需要调用的文章字数。
需要注意的是,这种方法调用的是文章内容中的HTML代码,如果文章中包含代码,也会被调用出来,这可能不是最佳实践,可以通过html2tex()
函数进行优化。
如果使用dede:list
标签,是无法调用出结果的。
第二种方法:利用自定义模型内容并调用
1、代码示例:
{dede:arclist row='10' addfields='body' channelid='1'} <p> [field:body function='cn_substr(html2text(@me),600)'/]...</p> <span class="more"> <a href=" [field:arcurl/]" style="textdecoration:none; color:#990000;"> [详情] </a> </span> {/dede:arclist}
2、代码说明:
addfields='body'
用于调用内容模型的字段。
channelid='1'
表示调用的是文章模型ID为1的内容。
<p></p>
内的代码将文章内容转化为文字格式,数字600表示需要调用的文章字数。
3、注意事项:
channelid
调用的是内容模型ID,而不是分类ID,这一点需要区分清楚。
这种方法相对简单,推荐使用。
表格对比两种方法
方法 | 优点 | 缺点 | 适用场景 |
第一种方法 | 灵活度高,可以自定义调用内容长度 | 实现较复杂,需要理解PHP代码 | 适用于需要高度定制的场景 |
第二种方法 | 实现简单,易于理解和使用 | 灵活性相对较低 | 适用于一般需求的场景 |
FAQs
问题1:如何在首页或列表页调用文章的完整正文内容?
解答:可以使用上述的第二种方法,通过自定义模型内容并调用,具体代码如下:
{dede:arclist row='10' addfields='body' channelid='1'} <p> [field:body/] </p> {/dede:arclist}
这样可以在首页或列表页直接调用文章的完整正文内容。
问题2:为什么第一种方法中提到的400这个数字?
解答:在第一种方法中,数字400是用来设置需要调用多少内容的,这个数字可以根据实际需求进行调整,以控制显示的文章正文的长度,如果文章内容较长,可以适当增加这个数字;如果只需要显示摘要,可以减少这个数字。
方法编号 | 调用方式 | 描述 | 参数说明 |
1 | include(“include/dede.inc.php”); | 包含织梦DedeCMS的核心文件 | 无 |
2 | $id = $_GET[‘id’]; | 获取文章ID | $_GET[‘id’]:文章ID |
3 | $arcRow = GetOneArc($id); | 根据文章ID获取文章信息 | $id:文章ID |
4 | echo $arcRow[‘body’]; | 输出文章正文内容 | $arcRow[‘body’]:文章正文内容 |
5 | include(“templets/default/content_show.htm”); | 包含文章模板文件 | 无 |
代码示例:
<?php include("include/dede.inc.php"); $id = $_GET['id']; $arcRow = GetOneArc($id); echo $arcRow['body']; include("templets/default/content_show.htm"); ?>
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1189780.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复