织梦如何调用固定文章内容?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 织梦建站 正文

使用 {dede:arclist} 标签(最常用、最灵活)

{dede:arclist} 是织梦最强大的列表标签,不仅可以调用列表,也可以通过特定参数调用单篇文章,这是最推荐的方法。

织梦调用固定文章内容
(图片来源网络,侵删)

基本语法

{dede:arclist typeid='' row='1' idlist='' titlelen='50'}
    <a href="[field:arcurl/]">[field:title/]</a>
    <p>[field:description function='cn_substr(@me,100)'/]...</p>
{/dede:arclist}

关键参数解释

  • typeid='' (栏目ID)

    • 如果你知道这篇文章属于哪个栏目,可以填写该栏目的ID,这能加快查询速度。
    • 如果不确定或文章在所有栏目中,可以留空。
  • idlist='' (文章ID列表,这是调用单篇文章的关键!)

    • 格式文章ID1,文章ID2,...
    • 作用:直接指定要调用的文章ID,如果你想调用ID为 10 的那篇文章,就写成 idlist='10',这是最精确、最高效的方式。
  • row='1' (调用条数)

    • 因为我们只调用一篇文章,所以这里固定为 1
  • titlelen='50' (标题长度)

    织梦调用固定文章内容
    (图片来源网络,侵删)

    控制调用标题的显示字数,防止过长。

  • infolen='100' (内容摘要长度)

    控制调用文章摘要(文章开头部分)的显示字数。

  • typeid=''idlist='' 的关系

    织梦调用固定文章内容
    (图片来源网络,侵删)
    • 优先级idlist 的优先级高于 typeid,如果两个参数都填写了,系统会优先使用 idlist 来查找文章。
    • 最佳实践强烈建议使用 idlist 来指定单篇文章,因为它最直接、最不容易出错。

完整示例

假设我们要在首页调用ID为 5 的文章,只显示标题和摘要,并限制摘要长度为80个字符。

<h3>网站公告</h3>
{dede:arclist idlist='5' row='1' titlelen='30' infolen='80'}
    <h4><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></h4>
    <p>[field:description function='cn_substr(@me,80)'/]</p>
{/dede:arclist}

代码解释:

  • [field:arcurl/]:文章的完整链接地址。
  • [field:title/]
  • [field:description/]:文章的摘要(如果文章填写了摘要,则显示摘要;否则显示文章开头部分)。function='cn_substr(@me,80)' 是一个自定义函数,用来截取摘要的前80个字符。

使用 {dede:sql} 标签(直接查询数据库)

如果你的需求非常特殊,或者想调用一些非标准的文章数据,可以直接使用SQL语句从数据库中查询。

基本语法

{dede:sql sql='SELECT * FROM dede_archives WHERE id = 5'}
    <a href="/plus/view.php?aid=[id]">[title]</a>
    <p>[description]</p>
{/dede:sql}

关键参数解释

  • sql='' (SQL查询语句)
    • *`SELECT FROM dede_archives WHERE id = 5**:这条语句的意思是从dede_archives(文章主表) 中查询id5` 的所有字段。
    • 表名注意dede_ 是织梦的默认表前缀,如果你的网站安装时修改了表前缀,你需要相应地修改这里的表名(yourprefix_archives)。

字段调用

{dede:sql} 标签内,你可以直接使用数据库表中的字段名作为变量,

  • [id]:文章ID
  • [title]
  • [shorttitle]:文章短标题
  • [description]:文章摘要
  • [litpic]:文章缩略图
  • [pubdate]:发布时间

完整示例

调用ID为 8 的文章,并显示标题、发布时间和内容。

<h3>公司简介</h3>
{dede:sql sql='SELECT title, pubdate, body FROM dede_archives WHERE id = 8'}
    <h2>[title]</h2>
    <p>发布时间:[pubdate function='strftime("%Y-%m-%d", @me)'/]</p>
    <div class="content">
        [body]
    </div>
{/dede:sql}

注意:文章的详细内容存储在 dede_addonarticle (文章附加表) 的 body 字段中,如果你想同时调用主表和附加表的数据,需要使用 JOIN 查询,这会使SQL语句变得复杂,对于常规文章内容,优先使用 {dede:arclist}


使用自定义模型(适用于“关于我们”、“联系我们”等固定页面)

如果你的“联系我们”、“公司简介”这类内容很少变动,且不希望作为“文章”来管理,可以创建一个自定义模型。

  1. 后台创建模型

    • 进入“后台” -> “核心” -> “内容模型管理” -> “增加一个新模型”。
    • 填写模型名称(如“联系我们”),设置好字段(如:公司地址、联系电话、电子邮箱等)。
    • 进入“后台” -> “普通栏目管理” -> “增加一个栏目”。
    • 在栏目类型中选择“单页栏目”,并为你刚创建的自定义模型。
    • 在该栏目下添加内容,填写你定义好的字段。
  2. 前台调用

    • 因为是单页栏目,调用非常简单,假设你的“联系我们”栏目ID是 12
{dede:field name='body'/}

或者,如果你想调用自定义字段,公司地址”字段名为 company_address

<p>公司地址:{dede:field name='company_address'/}</p>
<p>联系电话:{dede:field name='tel'/}</p>

这种方法的好处是结构清晰,内容管理独立,不适合用于需要频繁更新的新闻类文章。


总结与最佳实践

方法 优点 缺点 适用场景
{dede:arclist} 灵活、高效、代码简洁,官方推荐 参数相对较多 绝大多数场景,特别是调用已有的文章。
{dede:sql} 极其灵活,可查询任意数据 代码复杂,有SQL注入风险(需注意安全),对新手不友好 需要调用非标准数据或进行复杂查询时。
自定义模型 结构清晰,内容管理独立 需要提前设置,不适用于动态内容 “关于我们”、“联系我们”、“公司简介”等固定、静态页面。

给你的最终建议:

99% 的情况下,使用 {dede:arclist idlist='你的文章ID'} 是最好的选择。

操作步骤:

  1. 在后台找到你想要调用的那篇文章,查看其文章ID(在文章编辑页面URL中可以看到,或在“内容” -> “所有文档”中查看列表)。
  2. 将ID记下。
  3. 在你需要显示内容的模板文件(通常是 index.htm)中,使用上面 {dede:arclist} 的代码,将 idlist 的值替换为你记下的ID即可。

希望这个详细的教程能帮到你!如果你在操作中遇到任何问题,可以随时提问。

-- 展开阅读全文 --
头像
织梦模板如何仿家庭在线网?
« 上一篇 昨天
dede新闻网站梦模板如何使用?
下一篇 » 昨天

相关文章

取消
微信二维码
支付宝二维码

目录[+]