核心概念:它们是什么?

想象一个网站的结构,就像一本书:

dede封面模板 列表模板 文章模板
(图片来源网络,侵删)
  • 封面模板:就像书的封面,它通常只展示一个频道(栏目)的概貌,比如一个“公司简介”栏目,封面可能只显示一张大图、一段简介和几个重要的链接,它本身不列出文章列表。
  • 列表模板:就像书的目录页,当你点击“公司简介”这个栏目后,进入的就是列表页,这里会显示该栏目下所有文章的标题、发布时间、摘要等信息,方便你选择想看的具体文章。
  • 文章模板:就像书的具体某一页,当你从目录页点击某一篇文章的标题后,进入的就是文章页,这里完整地显示这篇文章的标题、作者、来源、正文内容、图片、附件等所有信息。

详细对比分析

下面是一个清晰的对比表格,能帮助你快速理解它们的区别:

特性 封面模板 列表模板 文章模板
核心功能 展示一个栏目的“门面”或“首页” 展示一个栏目下的多篇文章列表 展示单篇文章
使用场景 频道首页(如“产品中心”首页)
不需要列出文章,只展示静态信息的页面
所有文章列表页
按栏目、专题、日期等归类的页面
所有文章内容页
用于阅读和展示具体文章
主要标签 {dede:channel} (栏目列表)
{dede:arclist} (推荐文章列表)
{dede:position} (当前位置)
{dede:field.description} (栏目描述)
{dede:list} (文章列表循环)
[field:title/] (文章标题)
[field:pubdate function="MyDate('Y-m-d',@me)"/] (发布时间)
[field:arcurl/] (文章链接)
{dede:field} (文章字段)
{dede:field.title/} (文章标题)
{dede:field.body/} (文章正文)
{dede:field.pubdate/} (发布时间)
文件位置 /templets/default/目录名/index.htm /templets/default/目录名/list_artlist.htm (可自定义) /templets/default/目录名/article_article.htm (可自定义)
触发条件 访问一个顶级栏目的链接,且该栏目没有开启“使用列表作为文档主页”。 访问一个栏目的链接,且该栏目开启了“使用列表作为文档主页”,或者本身就是列表页。 点击列表页中的文章标题链接。

如何设置和选择模板?

在 DedeCMS 后台,你可以为不同的栏目指定不同的模板。

  1. 登录后台:进入“核心” -> “频道模型” -> “频道管理”。
  2. 选择栏目:点击你需要设置的栏目名称,进入“栏目编辑”页面。
  3. 找到模板设置:在栏目编辑页面下方,找到“列表选项”部分。

这里有三个关键选项,直接决定了系统调用哪个模板:

  • 封面模板

    dede封面模板 列表模板 文章模板
    (图片来源网络,侵删)
    • 何时使用:当你希望这个栏目首页只展示一些静态信息、图片或推荐文章,而不是一长串文章列表时。
    • 如何设置:在“封面模板”选项中,选择你制作好的封面模板文件(如 index.htm)。确保“使用列表作为文档主页”这个选项是“否”
  • 列表模板

    • 何时使用:这是最常见的情况,几乎所有需要展示文章列表的栏目都需要它。
    • 如何设置:在“列表模板”选项中,选择你制作好的列表模板文件(如 list_artlist.htm)。如果希望栏目首页直接显示文章列表,则需要勾选“使用列表作为文档主页”
  • 文章模板

    • 何时使用:这个通常不需要在栏目级别设置,而是在后台的“系统” -> “系统基本参数” -> “核心设置”中,设置一个默认的文章内容页模板,你也可以为特定栏目指定专用的文章模板。

模板代码示例

这里提供最基础的代码片段,让你感受一下它们的区别。

封面模板 示例 (index.htm)

这个模板通常很简单,可能只包含一个栏目名称、描述和一些推荐文章。

dede封面模板 列表模板 文章模板
(图片来源网络,侵删)
<!DOCTYPE html>
<html>
<head>{dede:field.seotitle/}_{dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>{dede:field.name/}</h1>
    <p>{dede:field.description/}</p>
    <!-- 调用本栏目的推荐文章列表,只显示5条 -->
    <h2>推荐文章</h2>
    {dede:arclist row='5' titlelen='30'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    </li>
    {/dede:arclist}
</body>
</html>

列表模板 示例 (list_artlist.htm)

这是最经典的列表模板,核心是 {dede:list}

<!DOCTYPE html>
<html>
<head>{dede:field.title/}_{dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>{dede:field.title/}</h1>
    <!-- 文章列表开始 -->
    {dede:list pagesize='10'}
    <div class="list-item">
        <h2><a href="[field:arcurl/]">[field:title/]</a></h2>
        <p class="info">作者:[field:writer/] &nbsp; 发布时间:[field:pubdate function="MyDate('Y-m-d',@me)"/] &nbsp; 点击:[field:click/]</p>
        <p class="summary">[field:description/]...</p>
    </div>
    {/dede:list}
    <!-- 分页条 -->
    <div class="page">
        {dede:pagelist listsize='4' listitem='info,index,end,pre,next,pageno'}
        {/dede:pagelist}
    </div>
</body>
</html>

文章模板 示例 (article_article.htm)

这个模板专注于展示单篇文章的全部内容。

<!DOCTYPE html>
<html>
<head>{dede:field.title/}_{dede:global.cfg_webname/}</title>
</head>
<body>
    <div class="article">
        <h1>{dede:field.title/}</h1>
        <div class="article-info">
            <span>作者:{dede:field.writer/}</span>
            <span>来源:{dede:field.source/}</span>
            <span>发布时间:{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</span>
            <span>点击:{dede:field.click/}</span>
        </div>
        <!-- 文章正文内容 -->
        <div class="article-content">
            {dede:field.body/}
        </div>
        <!-- 上一篇/下一篇 -->
        <div class="prenext">
            <p>上一篇:{dede:prenext get='pre'/}</p>
            <p>下一篇:{dede:prenext get='next'/}</p>
        </div>
    </div>
</body>
</html>

总结与最佳实践

  1. 规划先行:在制作模板前,先想好你的网站每个栏目的结构,哪些是封面页,哪些是列表页,做到心中有数。
  2. 命名规范:给模板文件起一个有意义的名字,list_news.htm (新闻列表), article_product.htm (产品文章), index_about.htm (关于我们封面)。
  3. 灵活运用:顶级栏目通常可以设置封面模板,而其子栏目则可以直接使用列表模板。“产品中心”是封面,展示所有产品分类;而“手机产品”是列表页,展示所有手机型号的文章。
  4. 继承关系:如果一个栏目没有指定自己的模板,它会自动使用其上级栏目或默认的模板,这在你需要批量设置时非常有用。

希望这份详细的解析能帮助你彻底搞懂 DedeCMS 的封面、列表和文章模板!