dede rss模板如何制作与使用?

99ANYc3cd6
预计阅读时长 19 分钟
位置: 首页 DEDE建站 正文

在 DedeCMS 中,RSS 的生成并不是像普通文章页面那样通过一个独立的 .htm 模板文件来控制的,它的内容是由一个专门的模板文件和后台的生成规则共同决定的。

dede rss 模板
(图片来源网络,侵删)

你需要两样东西:

  1. 一个 RSS 专用的模板文件 (rss.htm):定义了 RSS 输出的 XML 结构和内容。
  2. 一个在后台设置的 RSS 生成规则:告诉 DedeCMS 使用哪个模板文件,以及如何获取数据。

第一步:创建 RSS 模板文件 (rss.htm)

这个文件通常位于你网站的 /templets/ 目录下,或者你当前使用模板的目录下,/templets/default/

rss.htm 文件的内容遵循 XML 语法,并且使用 DedeCMS 的模板标签来调用数据。

一个完整的、通用的 rss.htm 模板示例

以下是一个标准的、适用于大多数 DedeCMS 网站的 RSS 2.0 模板,你可以根据这个模板进行修改。

dede rss 模板
(图片来源网络,侵删)
{dede:global name='cfg_webname'/} - RSS订阅
{dede:global name='cfg_rss_description'/}
<language>zh-cn</language>
<copyright>Copyright (C) {dede:global name='cfg_webname'/} All Rights Reserved.</copyright>
<generator>DedeCMS V{dede:global name='cfg_version'/}</generator>
<webMaster>{dede:global name='cfg_adminemail'/}</webMaster>
{dede:arclist row='50' titlelen='100' orderby='pubdate'}
<item><![CDATA[[field:title/]]]></title>
    <link>[field:arcurl/]</link>
    <description><![CDATA[[field:description function='html2text(@me)'/]]]></description>
    <pubDate>[field:pubdate function='strftime("%a, %d %b %Y %H:%M:%S +0800", @me)'/]</pubDate>
    <category>[field:typelink/]</category>
    <author>[field:writer/]</author>
    <guid>[field:arcurl/]</guid>
</item>
{/dede:arclist}

第二步:模板代码详解

让我们逐行解析上面模板中的关键部分:

  1. 文件头信息

    {dede:global name='cfg_webname'/} - RSS订阅
    {dede:global name='cfg_rss_description'/}
    • {dede:global name='cfg_webname'/}:调用网站名称。
    • {dede:global name='cfg_rss_description'/}:调用在后台“系统参数”中设置的“RSS描述”。如果没有设置,这里可能为空,你也可以直接写死描述,本站专注于分享...
  2. RSS 元信息

    <language>zh-cn</language>
    <copyright>Copyright (C) {dede:global name='cfg_webname'/} All Rights Reserved.</copyright>
    <generator>DedeCMS V{dede:global name='cfg_version'/}</generator>
    <webMaster>{dede:global name='cfg_adminemail'/}</webMaster>
    • 这些是 RSS 2.0 规范中的标准标签,用于描述频道的基本信息。
    • language: 语言,中文是 zh-cn
    • copyright: 版权信息。
    • generator: 生成工具,这里显示 DedeCMS 的版本。
    • webMaster: 管理员邮箱,通常调用后台的 cfg_adminemail
  3. 文章列表 {dede:arclist}

    dede rss 模板
    (图片来源网络,侵删)
    {dede:arclist row='50' titlelen='100' orderby='pubdate'}
    ...
    {/dede:arclist}
    • 这是循环输出文章列表的核心标签。
    • row='50':表示获取最新的 50 篇文章,你可以根据需要修改这个数字。
    • titlelen='100'的长度,防止过长的标题破坏 XML 结构。
    • orderby='pubdate':按发布时间倒序排列,这是 RSS 最常见的排序方式。
  4. 单篇文章项目 <item>

    <item>
        <title><![CDATA[[field:title/]]]></title>
        <link>[field:arcurl/]</link>
        <description><![CDATA[[field:description function='html2text(@me)'/]]]></description>
        <pubDate>[field:pubdate function='strftime("%a, %d %b %Y %H:%M:%S +0800", @me)'/]</pubDate>
        <category>[field:typelink/]</category>
        <author>[field:writer/]</author>
        <guid>[field:arcurl/]</link>
    </item>
    • <title>: 文章标题。
      • <![CDATA[ ... ]]>:这是一个非常重要的 XML 语法,它告诉解析器,其中的内容是纯文本,即使里面包含 <, >, & 等特殊符号也不要解析,防止 RSS 解析错误。强烈建议所有可能包含特殊字符的字段都使用 CDATA 包裹。
    • <link>: 文章的永久链接 URL。
      • [field:arcurl/]:直接调用文章的完整链接。
    • <description>: 文章的摘要或内容。
      • [field:description/]:调用文章摘要,但很多网站文章摘要为空。
      • function='html2text(@me)':这是一个非常实用的功能,它会调用 php 目录下的 html2text.php 文件,将文章正文的 HTML 代码([field:body/])转换为纯文本,这样就能在 RSS 中显示文章的主要内容,而不仅仅是空摘要。
    • <pubDate>: 文章发布日期。
      • function='strftime(...)':这是一个 PHP 函数,用于格式化日期时间。
      • "%a, %d %b %Y %H:%M:%S +0800":这是 RSS 2.0 标准要求的日期格式(Wed, 05 Oct 2025 10:30:00 +0800)。+0800 表示东八区。
    • <category>: 文章所属的分类。
      • [field:typelink/]:调用分类的链接和名称,<category><a href="...">技术</a></category>
    • <author>: 文章作者。
      • [field:writer/]:调用文章的作者字段。
    • <guid>: 文章的唯一标识符。

      通常使用文章的链接作为 GUID,确保每篇文章的唯一性。


第三步:在后台生成和设置 RSS

模板文件创建好后,你需要在 DedeCMS 后台进行设置,让它生效。

  1. 登录 DedeCMS 后台

  2. 进入“频道模型” -> “自动频道模型”

    • 在左侧的“频道列表”中,找到并点击 “RSS”
  3. 配置 RSS 生成规则

    • 命名规则:这里可以自定义 RSS 文件的名称,rss.xmlfeed.xml,通常保持默认即可。
    • 列表模板这是最关键的一步! 点击右侧的“选择”按钮,选择你刚刚创建并上传到 /templets/default/ 目录下的 rss.htm 模板文件。
    • 最大文档数:这里设置的数字会覆盖你 rss.htm 模板中 {dede:arclist}row 属性,这里设置为 50,那么生成的 RSS 就只会包含最新的 50 篇文章。
    • 更新栏目缓存:勾选此项。
  4. 生成 RSS 文件

    • 在页面底部,点击 “更新HTML” 按钮。
    • 系统会根据你设置的规则,生成一个 XML 文件,这个文件通常存放在你的网站根目录下(/rss.xml)。
  5. 验证 RSS

    • 在浏览器中访问你生成的 RSS 文件地址(http://www.yourdomain.com/rss.xml)。
    • 如果看到一个格式规范的 XML 代码,并且内容正确,就说明成功了,你也可以使用在线的 RSS 验证工具(如 W3C Feed Validation Service)来检查你的 RSS 是否符合标准。

常见问题与注意事项

  • RSS 描述为空cfg_rss_description 在后台没有设置,{dede:global name='cfg_rss_description'/} 会输出空,直接在模板中替换为你的网站描述即可。
  • CDATA 的使用:再次强调,凡是可能包含 HTML 代码或特殊字符的字段(如标题、内容),都应该用 <![CDATA[ ... ]]> 包裹起来,这是避免 RSS 解析错误的最佳实践。
  • 路径问题:确保你的 rss.htm 模板文件位于 DedeCMS 能够找到的目录(如 /templets/系统默认目录名/)。
  • 只显示摘要:检查 <description> 标签,确保你调用的是 [field:body/] 并使用了 html2text 函数,而不是 [field:description/]
  • 日期格式错误:确保 <pubDate> 中使用的 strftime 格式字符串是正确的,符合 RSS 2.0 规范。

通过以上步骤,你就可以成功创建并配置一个符合标准的 DedeCMS RSS 模板了。

-- 展开阅读全文 --
头像
dede php 嵌套
« 上一篇 03-29
dede tag 拼音
下一篇 » 03-29

相关文章

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

目录[+]