封面模板是用户访问网站首页时看到的页面,它通常由多个模块组成,用于展示网站的核心内容,如文章列表、图片轮播、推荐内容等。

dedecms模板封面制作
(图片来源网络,侵删)

下面我将从基础概念制作流程常用标签一个完整实例四个方面,为你提供一份详尽的 Dedecms 封面模板制作指南。


基础概念

在开始制作之前,你需要了解 Dedecms 模板系统的几个核心概念:

  1. 模板目录结构

    • Dedecms 的模板文件通常存放在 /templets/ 目录下。
    • 你可以为你的网站创建一个专属的文件夹,/templets/your_site_name/
    • 在这个文件夹里,通常会创建以下子目录来存放不同类型的模板文件:
      • default/:默认风格模板。
      • images/:存放当前模板用到的所有图片。
      • style/:存放 CSS 样式表文件(如 style.css)。
      • js/:存放 JavaScript 文件(如 jquery.min.js, index.js)。
      • block/:存放“块模板”或“文件模板”,用于制作可复用的模块。
  2. 模板文件命名

    dedecms模板封面制作
    (图片来源网络,侵删)
    • 封面模板index.htm (固定名称,必须放在你的模板目录根下)
    • 列表页模板list_栏目ID.htm (栏目ID为1的列表页模板为 list_1.htm)
    • 页模板article_栏目ID.htm (栏目ID为1的内容页模板为 article_1.htm)
    • 其他页面模板:可以自定义,如 search.htm (搜索页), guestbook.htm (留言页) 等。
  3. 模板引擎

    • Dedecms 使用自己的模板引擎,它通过特定的 来调用数据库中的内容。
    • 这些标签类似于 HTML 的标签,但被 包围,{dede:arclist}
    • 当用户访问网站时,DedePHP引擎会解析这些标签,从数据库获取数据,并最终生成纯 HTML 页面返回给用户。

制作流程

制作一个 Dedecms 封面模板通常遵循以下步骤:

步骤 1:准备设计稿 在动手写代码之前,先用 Photoshop、Figma 或其他设计软件设计出首页的布局和样式,将设计稿切图,得到所需的图片素材,并整理好 CSS 和 JS 文件。

步骤 2:创建模板目录和文件

dedecms模板封面制作
(图片来源网络,侵删)
  1. 登录你的 FTP 或服务器文件管理器。
  2. 进入 /templets/ 目录,创建一个新的文件夹,mycompany
  3. mycompany 目录下创建子目录:images, style, js
  4. 将你的切图图片上传到 images 目录。
  5. 将你的 CSS 文件上传到 style 目录,并命名为 style.css
  6. 将你的 JS 文件上传到 js 目录。
  7. mycompany 目录下创建一个名为 index.htm 的空白文件,这就是你的封面模板文件。

步骤 3:编写 HTML 框架 打开 index.htm 文件,先编写一个标准的 HTML5 结构,Dedecms 模板通常包含以下几个主要部分:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">{dede:global.cfg_webname/}</title> <!-- 网站标题 -->
    <meta name="keywords" content="{dede:global.cfg_keywords/}"> <!-- 网站关键词 -->
    <meta name="description" content="{dede:global.cfg_description/}"> <!-- 网站描述 -->
    <link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style/style.css"> <!-- 引入CSS -->
</head>
<body>
    <!-- 顶部导航栏 -->
    <div class="header">
        ...
    </div>
    <!-- 主要内容区 -->
    <div class="main">
        <!-- 左侧内容 -->
        <div class="left-content">
            <!-- 调用文章列表 -->
            {dede:arclist ...}
                ...
            {/dede:arclist}
        </div>
        <!-- 右侧边栏 -->
        <div class="sidebar">
            <!-- 调用热门文章 -->
            {dede:arclist ...}
                ...
            {/dede:arclist}
            <!-- 调用友情链接 -->
            {dede:flink ...}
                ...
            {/dede:flink}
        </div>
    </div>
    <!-- 底部信息 -->
    <div class="footer">
        ...
    </div>
    <script src="{dede:global.cfg_templets_skin/}/js/jquery.min.js"></script> <!-- 引入JS -->
    <script src="{dede:global.cfg_templets_skin/}/js/index.js"></script>
</body>
</html>

注意{dede:global.cfg_templets_skin/} 是一个非常重要的全局变量,它会自动输出当前模板的路径,如 /templets/mycompany/,使用它来引用 CSS 和 JS 文件,可以避免路径错误。

步骤 4:插入 Dedecms 标签 这是最核心的一步,在 HTML 结构的相应位置,插入 Dedecms 标签来动态获取内容,我们将在下一节详细介绍常用标签。

步骤 5:后台设置

  1. 登录 Dedecms 后台。
  2. 进入 “系统” -> “系统基本参数” -> “核心设置”
  3. 找到 “模板默认风格目录”,将其值设置为你创建的模板文件夹名,mycompany
  4. 进入 “系统” -> “系统基本参数” -> “性能选项”,确保 “是否开启页面静态化” 是开启的。
  5. 进入 “生成” -> “更新主页HTML”,点击“开始生成”,你的新首页模板就会生效了。

常用 Dedecms 标签

全局标签

这些标签通常放在 <head> 部分。

  • {dede:global.cfg_webname/}:网站名称。
  • {dede:global.cfg_keywords/}:网站关键词。
  • {dede:global.cfg_description/}:网站描述。
  • {dede:global.cfg_templets_skin/}:当前模板路径。

文章列表标签 - {dede:arclist}

这是首页最常用的标签,用于调用文章列表。

基本语法

{dede:arclist flag='h' typeid='1,2' row='10' titlelen='30'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:arclist}

常用属性

  • typeid:指定栏目ID,多个ID用逗号隔开。typeid='0' 表示调用所有栏目。
  • row:调用文章的数量,len`:标题长度,汉字数。
  • infolen:简介长度。
  • flag:特殊属性。'h' (头条), 'c' (推荐), 'p' (图片), 'f' (幻灯),可以组合使用,如 flag='hc'
  • orderby:排序方式。'pubdate' (发布时间), 'click' (点击量), 'id' (文章ID)。

常用字段

  • [field:title/
  • [field:arcurl/:文章链接。
  • [field:pubdate function="MyDate('Y-m-d', @me)"/]:发布日期,MyDate 是日期格式化函数。
  • [field:description/
  • [field:litpic/:文章缩略图。

幻灯片/焦点图标签

通常使用 {dede:arclist} 配合 flag='f' 来实现。

<div class="focus">
    {dede:arclist flag='f' row='5'}
        <a href="[field:arcurl/]" title="[field:title/]">
            <img src="[field:litpic/]" alt="[field:title/]">
            <span>[field:title/]</span>
        </a>
    {/dede:arclist}
</div>

友情链接标签 - {dede:flink}

<div class="friendlinks">
    <h3>友情链接</h3>
    {dede:flink type='text' row='24'}
        <a href="[field:url/]" target="_blank">[field:name/]</a>
    {/dede:flink}
</div>
  • type:链接类型。'text' (文字), 'image' (图片)。
  • row:调用链接的数量。

指定栏目文章列表 - {dede:channelartlist}

如果你想为每个栏目调用其下的文章列表,这个标签非常方便。

{dede:channelartlist}
    <div class="channel-box">
        <h2><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></h2>
        <ul>
            {dede:arclist row='5'}
                <li><a href="[field:arcurl/]">[field:title/]</a></li>
            {/dede:arclist}
        </ul>
    </div>
{/dede:channelartlist}
  • {dede:field name='typeurl'/}:当前栏目的链接。
  • {dede:field name='typename'/}:当前栏目的名称。

调用单页文档内容

关于我们”、“联系我们”这类只有一个页面的内容。

{dede:field name='body'/}

这个标签需要放在一个单页文档的内容页模板中,或者通过特定方法在首页调用(通常需要二次开发或使用插件)。


一个简单的封面模板实例

假设我们要制作一个包含“网站头条”、“产品展示”和“公司新闻”的简单首页。

index.htm 文件内容:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">{dede:global.cfg_webname/}</title>
    <meta name="keywords" content="{dede:global.cfg_keywords/}">
    <meta name="description" content="{dede:global.cfg_description/}">
    <link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style/style.css">
</head>
<body>
    <!-- 顶部Logo和导航 -->
    <div class="header">
        <div class="logo"><a href="/"><img src="{dede:global.cfg_templets_skin/}/images/logo.png" alt="网站Logo"></a></div>
        <div class="nav">
            <ul>
                <li><a href="/">首页</a></li>
                <!-- 这里可以手动添加其他顶级栏目链接 -->
                <li><a href="/plus/list.php?tid=1">产品中心</a></li>
                <li><a href="/plus/list.php?tid=2">新闻资讯</a></li>
                <li><a href="/aboutus.html">关于我们</a></li>
            </ul>
        </div>
    </div>
    <!-- 焦点图 -->
    <div class="slider">
        {dede:arclist flag='f' row='5'}
        <a href="[field:arcurl/]" title="[field:title/]">
            <img src="[field:litpic/]" alt="[field:title/]">
        </a>
        {/dede:arclist}
    </div>
    <!-- 主要内容区 -->
    <div class="main-content">
        <!-- 左侧:产品展示 -->
        <div class="left-content">
            <h2>产品展示</h2>
            <ul class="product-list">
                {dede:channelartlist typeid='1'}
                    <li>
                        <a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
                        <ul>
                            {dede:arclist row='3' titlelen='20'}
                                <li><a href="[field:arcurl/]">[field:title/]</a></li>
                            {/dede:arclist}
                        </ul>
                    </li>
                {/dede:channelartlist}
            </ul>
        </div>
        <!-- 右侧:公司新闻和热门文章 -->
        <div class="sidebar">
            <!-- 公司新闻 -->
            <div class="news-box">
                <h3>公司新闻</h3>
                <ul>
                    {dede:arclist typeid='2' row='5' titlelen='24'}
                        <li>
                            <a href="[field:arcurl/]">[field:title/]</a>
                            <span>[field:pubdate function="MyDate('m-d', @me)"/]</span>
                        </li>
                    {/dede:arclist}
                </ul>
            </div>
            <!-- 热门文章 -->
            <div class="hot-box">
                <h3>热门文章</h3>
                <ul>
                    {dede:arclist row='5' orderby='click' titlelen='24'}
                        <li><span>[field:global.autoindex/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
                    {/dede:arclist}
                </ul>
            </div>
        </div>
    </div>
    <!-- 底部 -->
    <div class="footer">
        <p>Copyright &copy; 2025 {dede:global.cfg_webname/} All Rights Reserved.</p>
        <p>{dede:global.cfg_powerby/}</p>
    </div>
</body>
</html>

对应的 style.css 文件(简单示例):

body { font-family: "Microsoft YaHei", Arial, sans-serif; margin: 0; padding: 0; background-color: #f4f4f4; }
.header { background: #333; height: 80px; line-height: 80px; display: flex; align-items: center; padding: 0 20px; }
.logo img { height: 50px; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; }
.nav li { margin-left: 20px; }
.nav a { color: #fff; text-decoration: none; }
.slider { width: 100%; height: 300px; overflow: hidden; background: #ccc; }
.slider img { width: 100%; height: 100%; object-fit: cover; }
.main-content { width: 1200px; margin: 20px auto; display: flex; }
.left-content, .sidebar { flex: 1; padding: 15px; background: #fff; border-radius: 5px; }
.sidebar { margin-left: 20px; }
h2, h3 { border-bottom: 2px solid #333; padding-bottom: 10px; margin-top: 0; }
.product-list, .news-box ul, .hot-box ul { list-style: none; padding: 0; }
.news-box li, .hot-box li { border-bottom: 1px dashed #eee; padding: 8px 0; display: flex; justify-content: space-between; }
.footer { background: #333; color: #fff; text-align: center; padding: 20px 0; margin-top: 20px; }

总结与提示

  • 多看多学:最好的学习方式是下载一些成熟的 Dedecms 模板,解压后研究其 index.htm 文件,看看别人是如何组织标签和布局的。
  • 利用开发者工具:使用 Chrome 或 Firefox 的开发者工具 (F12) 可以实时查看和修改页面样式,非常有助于调试 CSS。
  • 安全第一:从网上下载的模板或代码,最好先进行安全检查,避免被植入恶意代码。
  • 善用“文件管理器”:在 Dedecms 后台的“模板” -> “文件管理器”中,可以直接在线编辑模板文件,非常方便。

希望这份详细的指南能帮助你成功制作出你的 Dedecms 封面模板!