织梦模板修改教程第四节

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

织梦模板修改教程 第四节:核心标签与常用修改详解

本节目标:掌握织梦最核心的模板标签,并学会使用它们来修改网站的头部、首页、文章列表页和文章内容页。

织梦模板修改教程第四节
(图片来源网络,侵删)

什么是模板标签?

你可以把织梦的模板标签想象成一种“占位符”或“指令”,当你通过后台更新网站内容(比如发布一篇文章、上传一张图片)后,织梦程序会自动读取这些内容,并替换掉模板文件中对应的标签,最终生成一个完整的、可供用户访问的HTML网页。

织梦的标签都由 {dede:} 包裹,{dede:field.title/}

核心标签详解(必须掌握!)

我们按照网站从上到下的结构,逐一学习最常用的标签。

网站头部

网站头部通常包含网站标题、关键词、描述、以及调用顶部导航栏的代码,这些信息对SEO(搜索引擎优化)至关重要。

织梦模板修改教程第四节
(图片来源网络,侵删)

文件位置: head.htm (通常位于模板目录的 include/ 文件夹下)

常用标签:

  • {dede:global.cfg_webname/}
    • 说明: 调用后台“系统参数”中设置的网站名称。
  • 网站关键词: {dede:global.cfg_keywords/}
    • 说明: 调用后台“系统参数”中设置的关键词。
  • 网站描述: {dede:global.cfg_description/}
    • 说明: 调用后台“系统参数”中设置的网站描述。
  • CSS/JS文件路径: {dede:global.cfg_templeturl/}/style.css
    • 说明: 这是织梦的“魔法”标签之一。{dede:global.cfg_templeturl/} 会自动获取你当前模板的URL路径,这样你就不需要手动填写 /templets/default/ 这样的路径,修改模板时,只需把模板文件夹换个名字,这个标签会自动适应,非常方便。
  • 调用顶级栏目: {dede:channel type='top' row='8'}
    • 说明: 这是最常用的导航栏标签。
      • type='top':表示只调用顶级栏目。
      • row='8':表示调用8个栏目。
    • 循环体内的标签:
      • {dede:field.typename/}:栏目名称。
      • {dede:field.typeurl/}:栏目链接地址。

示例:修改一个简单的导航栏

假设你希望网站顶部导航栏显示“首页”、“产品中心”、“新闻动态”、“关于我们”这四个栏目。

  1. 打开你的模板文件夹下的 include/head.htm 文件。
  2. 找到导航栏的代码,它可能长这样:
    <div class="nav">
      <ul>
        {dede:channel type='top' row='8'}
        <li><a href="[field:typeurl/]">[field:typename/]</a></li>
        {/dede:channel}
      </ul>
    </div>
  3. 你可以直接修改这里的标签,或者更推荐的做法是:在后台“栏目管理”中创建这四个顶级栏目,然后刷新前台页面,导航栏就会自动显示你创建的栏目了。

首页模板

首页是网站的“脸面”,通常由多个部分组成:Banner轮播图、产品推荐、新闻列表、合作伙伴等。

文件位置: index.htm (模板根目录下)

首页常用标签组合:

  • 网站Logo:

    <a href="{dede:global.cfg_cmsurl/}/"><img src="{dede:global.cfg_logo/}" alt="{dede:global.cfg_webname/}" /></a>
    • {dede:global.cfg_cmsurl/}:网站根目录URL。
    • {dede:global.cfg_logo/}:后台“系统参数”中设置的Logo图片路径。
  • 调用指定ID的栏目内容(常用于Banner/简介区):

    {dede:arclist typeid='1' row='5'}
      <h2>[field:title/]</h2>
      <p>[field:description function='cn_substr(@me, 100)'/]...</p>
      <a href="[field:arcurl/]">查看详情</a>
    {/dede:arclist}
    • typeid='1':这是关键!它表示调用“栏目ID为1”下的文章。你需要在后台“栏目管理”中查看你想要展示的栏目对应的ID。
    • row='5':调用5篇文章。
    • [field:title/]
    • [field:description/]function='cn_substr(@me, 100)' 是一个函数,表示截取摘要前100个字符,防止过长。
    • [field:arcurl/]:文章链接地址。

文章列表页

文章列表页用于展示某个栏目下的所有文章标题、发布时间等。

文件位置: list_article.htm (或根据栏目不同而命名的 list_x.htm

常用标签组合:

  • 当前栏目名称: {dede:field.title/}

    • 用在列表页的 <title><h1> 标签中,SEO优化很重要。
  • 文章列表循环:

    {dede:list pagesize='10'}
    <li>
      <span class="title"><a href="[field:arcurl/]">[field:title/]</a></span>
      <span class="date">[field:pubdate function='MyDate('Y-m-d', @me)'/]</span>
      <span class="summary">[field:description function='cn_substr(@me, 150)'/]...</span>
    </li>
    {/dede:list}
    • pagesize='10':表示每页显示10篇文章。
    • [field:pubdate/]:发布时间。function='MyDate('Y-m-d', @me)' 是一个自定义函数,用于格式化日期显示为“年-月-日”。
    • {dede:list}{dede:arclist} 很像,但 list 专门用于列表页,功能更强大(如支持分页)。
  • 分页代码:

    <div class="page">
      {dede:pagelist listsize='4' listitem='info,index,end,pre,next,pageno'}
      </div>
    • 这段代码必须放在 {dede:list} 循环的外面
    • listsize='4':显示页码的数量。
    • listitem='...':指定分页显示哪些元素(首页、上一页、页码、下一页、末页、总信息数等)。

页用于展示单篇文章的完整内容。

文件位置: article_article.htm (或根据不同栏目而命名的 article_x.htm

常用标签组合:

  • {dede:field.title/}
  • {dede:field.body/}

    这是核心中的核心,所有通过后台编辑器输入的内容都会显示在这里。

  • 发布时间: {dede:field.pubdate function='MyDate('Y-m-d H:i:s', @me)'/}
  • 文章来源: {dede:field.source/}
  • 文章作者: {dede:field.writer/}
  • 点击量: {dede:field.click/}

    注意:点击量需要在后台“系统设置”->“核心设置”中开启“启用文档点击计数”。

  • 上下篇导航:
    <div class="prenext">
      <p>上一篇:{dede:prenext get='pre'/}</p>
      <p>下一篇:{dede:prenext get='next'/}</p>
    </div>
    • {dede:prenext} 是一个复合标签,可以很方便地生成上下篇文章的链接和标题。

实战演练:修改首页新闻列表

假设你的首页有一个“公司新闻”模块,你希望它显示“新闻动态”栏目下的最新5条新闻。

  1. 登录织梦后台 -> 栏目管理
  2. 找到“新闻动态”这个栏目,记下它的栏目ID(假设是 3)。
  3. 使用FTP工具登录你的网站,进入 templets/你的模板文件夹/ 目录,打开 index.htm 文件。
  4. 找到显示新闻列表的代码块,它可能看起来像这样:
    <section class="news-list">
      <h2>公司新闻</h2>
      <ul>
        <!-- 这里的代码可能很简单,或者很复杂 -->
        {dede:arclist row='5'}
        <li><a href="[field:arcurl/]">[field:title/]</a><span>[field:pubdate function='MyDate('Y-m-d', @me)'/]</span></li>
        {/dede:arclist}
      </ul>
    </section>
  5. 修改标签:为了确保只显示“新闻动态”栏目下的文章,给 arclist 标签加上 typeid 属性。
    <section class="news-list">
      <h2>公司新闻</h2>
      <ul>
        {dede:arclist typeid='3' row='5' titlelen='30'}
        <li>
          <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
          <span>[field:pubdate function='MyDate('Y-m-d', @me)'/]</span>
        </li>
        {/dede:arclist}
      </ul>
    </section>
    • typeid='3':指定了栏目ID。
    • titlelen='30'显示30个字符,防止过长影响布局。
    • 给链接和标题加上 title="[field:title/]",对SEO和用户体验都有好处。
  6. 保存文件,然后刷新你的网站首页。“公司新闻”列表应该只显示“新闻动态”栏目下的最新5条新闻了。

总结与下一步

恭喜!你已经掌握了织梦模板修改中最核心、最常用的标签,现在你已经具备了独立修改网站头部、首页、列表页和内容页基本内容的能力。

本节要点回顾:

  • 标签是占位符,织梦程序会用内容替换它们。
  • head.htm 控制网站头部信息和SEO。
  • index.htm 是首页,通过 typeid 调用不同栏目的内容。
  • list_x.htm 是列表页,核心是 {dede:list} 循环和分页 {dede:pagelist}
  • article_x.htm 是内容页,核心是 {dede:field.body/}

下一节预告:

在第五节中,我们将学习更高级的技巧,包括:

  • 使用SQL标签直接从数据库调取任意数据。
  • 自定义函数,让你的标签功能更强大。
  • 使用 {dede:include} 标签来模块化你的模板,提高复用性。

继续加油,你已经迈出了最重要的一步!

-- 展开阅读全文 --
头像
韩顺平织梦二次开发教程
« 上一篇 01-04
会员中心如何跳转手机版?
下一篇 » 01-04

相关文章

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

目录[+]