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

在织梦DedeCMS中,调用文章正文内容的方法如下:,,“php,{dede:field name='body'/},

织梦DedeCMS是一款广泛使用的开源内容管理系统,常用于搭建各种类型的网站,在实际应用中,有时需要在首页或列表页直接调用文章的正文内容,以下是两种常用的方法来解决这个问题:

如何在织梦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、代码示例

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

   {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

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

问题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

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-09 04:25
下一篇 2024-10-09 04:25

相关推荐

  • 如何在Java中调用Linux Shell命令?

    在Java中调用Linux Shell命令,可以使用Runtime.getRuntime().exec()方法。,,“java,try {, Process process = Runtime.getRuntime().exec(“ls -l”);, BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));, String line;, while ((line = reader.readLine()) != null) {, System.out.println(line);, },} catch (IOException e) {, e.printStackTrace();,},“

    2024-11-15
    06
  • 如何在Linux Shell中调用Java程序?

    在 Linux shell 中调用 Java 程序,可以使用 java 命令。如果你有一个名为 MyProgram.java 的 Java 文件,你可以先编译它:,,“sh,javac MyProgram.java,`,,然后运行生成的字节码文件:,,`sh,java MyProgram,`,,确保你的环境变量 PATH 中包含 Java 的安装路径,以便可以直接使用 java 和 javac` 命令。

    2024-11-15
    06
  • 如何在Shell脚本中调用Linux命令?

    在Shell脚本中调用Linux命令,可以通过直接输入命令名称和参数来实现。,“sh,#!/bin/bash,ls -l /home/user,“

    2024-11-15
    06
  • 如何在Linux系统中调用Matlab?

    在Linux系统中,你可以通过命令行调用MATLAB。确保MATLAB已正确安装并配置好环境变量。你可以在终端中使用以下命令启动MATLAB:,,“bash,matlab -nodisplay -r “run(‘your_script.m’)”,`,,your_script.m是你想要运行的MATLAB脚本文件。

    2024-11-11
    019

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入