云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何在织梦DedeCMS中调用文章的正文内容?

在织梦DedeCMS中,调用文章正文内容的方法如下:,,“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");
?>
打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在织梦DedeCMS中调用文章的正文内容?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/249608.html

评论

  • 验证码