dede sql里怎么引入文件?

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

使用 {dede:include} 标签(最常用、最标准)

这是 DedeCMS 官方提供的、用于在模板中包含其他模板文件或 HTML 片段的标准方法,它非常适合引入公共的页面结构,如头部 (header.htm)、底部 (footer.htm)、侧边栏 (sidebar.htm) 等。

dede sql 里面怎么引入文件
(图片来源网络,侵删)

语法:

{dede:include filename='文件路径' ismake='是否为绝对路径'}

参数说明:

  • filename='文件路径' (必需):
    • 相对路径: 相对于当前模板目录 (/templets/default/) 的路径,这是最常用的方式。
    • 绝对路径: 以 开头,表示从网站根目录的模板目录开始。filename='/templets/default/common/header.htm'
  • ismake='yes' (可选):
    • ismake='yes': 表示 filename 给出的是一个绝对路径
    • ismake='no' (默认值): 表示 filename 给出的是一个相对路径

示例:

假设你的模板文件结构如下:

dede sql 里面怎么引入文件
(图片来源网络,侵删)
/templets/default/
├── index.htm          (首页主模板)
├── header.htm         (公共头部)
├── footer.htm         (公共底部)
└── article/
    └── list_article.htm (文章列表页)

index.htm 中引入头部和底部:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">{dede:global.cfg_webname/}</title>
</head>
<body>
    <!-- 使用相对路径引入头部 -->
    {dede:include filename='header.htm'/}
    <div class="main-content">
        <!-- 这里是首页的主要内容 -->
        <h1>欢迎来到首页</h1>
        {dede:arclist titlelen='50' row='5'}
        <li><a href="[field:arcurl/]">[field:title/]</a></li>
        {/dede:arclist}
    </div>
    <!-- 使用相对路径引入底部 -->
    {dede:include filename='footer.htm'/}
</body>
</html>

article/list_article.htm 中引入头部和底部:

{dede:include filename='../header.htm'/} 
<!-- 使用 ../ 返回上一级目录,再找到 header.htm -->
<div class="article-list">
    <h2>文章列表</h2>
    <!-- 这里是文章列表页的内容 -->
    {dede:list pagesize='10'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:list}
</div>
{dede:include filename='../footer.htm'/}

使用 {dede:field} 标签调用栏目内容(适用于动态内容)

如果你想在某个位置引入一段动态的、可后台编辑的文字或 HTML,而不是一个固定的文件,可以使用 {dede:field} 标签来调用当前栏目的“栏目内容”。

场景: 每个栏目都有自己的介绍,这个介绍在后台填写,然后在列表页或内容页显示。

dede sql 里面怎么引入文件
(图片来源网络,侵删)

后台操作:

  1. 进入“核心” -> “栏目管理”。
  2. 编辑你想要设置的栏目。
  3. 在栏目基本信息页面,找到“栏目内容”或“描述”字段,填入你想要显示的 HTML 代码或文字。

模板中使用:

在列表页模板 (list_栏目ID.htm) 或内容页模板 (article_article.htm) 中,使用以下标签:

<!-- 调用当前栏目的栏目内容 -->
{dede:field.content/}
<!-- 或者调用栏目的描述(取决于你在后台填写的字段) -->
{dede:field.description/}

这种方式比引入文件更灵活,因为内容可以直接在后台维护,无需修改模板文件。


使用 PHP 原生代码(不推荐,但功能最强大)

在某些特殊情况下,你可能需要引入一个包含复杂 PHP 逻辑的文件,而不仅仅是 HTML 片段,这时,你可以在模板文件中使用 PHP 原生代码。

重要提示:

  1. 文件后缀必须是 .php,你的主模板文件是 index.php
  2. 需要开启模板解析 PHP 的功能,在后台“系统” -> “系统基本参数” -> “核心设置”中,找到“模板引擎禁用标签”选项,确保里面没有 php,或者更安全的方式是只允许特定的 PHP 标签。
  3. 存在安全风险,如果引入的文件不受信任,可能会导致网站被植入恶意代码,请谨慎使用。

语法:

<?php include_once '需要引入的文件路径'; ?>

示例:

假设你有一个 functions.php 文件,里面定义了一些辅助函数。

/templets/default/functions.php
<?php
function myCustomFunction() {
    echo "这是一个自定义函数输出的内容";
}
?>

在你的 index.php 模板文件中:

<!DOCTYPE html>
<html>
<head>{dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>首页</h1>
    <?php include_once 'functions.php'; ?>
    <?php myCustomFunction(); ?>
    <!-- 其他 DedeCMS 标签正常使用 -->
    {dede:arclist row='5'}
    <li>[field:title/]</li>
    {/dede:arclist}
</body>
</html>

总结与对比

方法 优点 缺点 适用场景
{dede:include} 官方标准、简单、安全、性能好 只能引入静态模板文件 引入公共页面结构(header, footer, sidebar)
{dede:field} 内容动态可管理、灵活 需要后台配合,不适合大块 HTML 引入每个栏目或文章特有的简介、说明
PHP include 功能最强大,可执行任何 PHP 代码 有安全风险、需要 .php 文件、降低模板可维护性 引入包含复杂逻辑或数据库操作的 PHP 文件(不推荐新手使用)

对于绝大多数情况,强烈推荐使用方法一 {dede:include} 它是 DedeCMS 设计初衷中最优雅、最安全的模板复用方式。

-- 展开阅读全文 --
头像
C语言getmemory笔试题常见陷阱有哪些?
« 上一篇 2025-12-16
VSCode C语言Debug如何配置与使用?
下一篇 » 2025-12-16

相关文章

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

目录[+]