织梦header.htm代码

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

header.htm 是织梦模板系统中的头部模板文件,它定义了网站每个页面顶部区域的公共结构,通常包括:

织梦header.htm代码
(图片来源网络,侵删)
  • 网站Logo
  • 主导航菜单
  • 顶部搜索框
  • 用户登录/注册区域
  • 购物车、收藏夹等链接(如果网站有这些功能)

由于其公共性,header.htm 会在其他所有模板文件(如 index.htm, list.htm, article_article.htm 等)中被 {dede:include filename='header.htm' /} 标签调用,以实现代码复用和统一管理。


一个典型的 header.htm 代码示例

下面是一个功能相对完整的 header.htm 代码,包含了Logo、主导航、搜索和用户区域,我会逐行进行注释解释。

<!DOCTYPE html>
<html lang="{dede:global.cfg_lang/}">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">{dede:global.cfg_webname/} - {dede:field.title/}</title>
    <meta name="keywords" content="{dede:field name='keywords'/}">
    <meta name="description" content="{dede:field name='description' function='html2text(@me)'/}">
    <!-- 引入CSS文件,通常放在这里 -->
    <link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/css/style.css">
    <!-- 其他CSS或JS文件 -->
</head>
<body>
<!-- 顶部通栏 -->
<div class="topbar">
    <div class="container">
        <div class="topbar-left">
            <span>欢迎来到 <strong>{dede:global.cfg_webname/}</strong></span>
        </div>
        <div class="topbar-right">
            <!-- 如果用户已登录,显示用户名和退出 -->
            {dede:if get='islogin'}
                <span>欢迎您,<strong>{dede:global name='cfg_ml_username'/}</strong>!</span>
                <a href="{dede:global name='cfg_memberurl'/}/index_do.php?fmdo=login&dopost=exit&key={dede:global name='cfg_md5_loginhash'/}">退出</a>
            <!-- 否则,显示登录和注册链接 -->
            {else}
                <a href="{dede:global name='cfg_memberurl'/}/login.php">登录</a>
                <a href="{dede:global name='cfg_memberurl'/}/reg.php">注册</a>
            {/dede:if}
        </div>
    </div>
</div>
<!-- 网站头部主体 -->
<header class="main-header">
    <div class="container">
        <!-- Logo区域 -->
        <div class="logo">
            <!-- 如果网站配置了Logo图片,则显示图片 -->
            {dede:global name='cfg_cmspath'/}/images/{dede:global name='cfg_weblogo'/}" alt="{dede:global.cfg_webname/}" />
            <!-- 如果没有配置Logo图片,则显示网站名称作为文字Logo -->
            <a href="/" title="{dede:global.cfg_webname/}">{dede:global.cfg_webname/}</a>
            {/dede:if}
        </div>
        <!-- 主导航菜单 -->
        <nav class="main-nav">
            <ul>
                <!-- 调用顶级栏目列表 -->
                {dede:channel type='top' row='8' currentstyle="
                    <li class='active'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>
                "}
                <li><a href="[field:typelink/]" title="[field:typename/]"><span>[field:typename/]</span></a></li>
                {/dede:channel}
            </ul>
        </nav>
        <!-- 搜索框 -->
        <div class="search-box">
            <form name="formsearch" action="{dede:global name='cfg_phpurl'/}/search.php">
                <input type="hidden" name="kwtype" value="0" />
                <input type="hidden" name="searchtype" id="searchtype" value="titlekeyword" />
                <input type="text" name="q" class="search-input" placeholder="请输入关键词...">
                <button type="submit" class="search-btn">搜索</button>
            </form>
        </div>
    </div>
</header>
<!-- 用于放置内容页面的主内容区,通常在header之后 -->
<div class="main-content">
    {dede:include filename='body.htm'/} <!-- 这行通常不在header.htm里,是为了展示结构 -->
</div>
<!-- 页脚 -->
<footer>
    {dede:include filename='footer.htm'/}
</footer>
</body>
</html>

代码核心标签详解

header.htm 的核心在于使用织梦的各种内置标签来动态获取数据。

网站全局配置标签

这些标签用于获取在织梦后台“系统” -> “系统基本参数”中设置的信息。

织梦header.htm代码
(图片来源网络,侵删)
  • {dede:global.cfg_webname/}: 网站名称。
  • {dede:global.cfg_templets_skin/}: 当前模板的目录路径。/templets/default
  • {dede:global.cfg_memberurl/}: 会员中心的路径。
  • {dede:global.cfg_cmspath/}: 网站根目录。
  • {dede:global.cfg_weblogo/}: 网站Logo的文件名(如 logo.png)。
  • {dede:global.cfg_lang/}: 网站语言。

栏目标签 ({dede:channel})

这是 header.htm 中最重要的标签之一,用于生成主导航菜单。

  • {dede:channel type='top' row='8' currentstyle='...'}:

    • type='top': 指定只调用顶级栏目,这是制作主导航最关键的属性。
    • row='8': 调用8个顶级栏目。
    • currentstyle='...': 当前页面对应的栏目样式~typelink~ 会被替换为栏目链接,~typename~ 会被替换为栏目名称,~rel~ 会被替换为 rel="self",这个属性是实现“高亮当前导航”的关键。
  • [field:typelink/][field:typename/]: 在 {dede:channel} 循环内部使用的字段,分别代表栏目的链接和名称。

用户登录状态判断标签 ({dede:if})

用于判断用户是否已登录,并显示不同的内容。

织梦header.htm代码
(图片来源网络,侵删)
  • {dede:if get='islogin'}: 判断当前用户是否已登录。
  • {dede:global name='cfg_ml_username'/}: 获取当前登录用户的用户名。
  • {dede:global name='cfg_md5_loginhash'/}: 获取用于安全退出的MD5哈希值。

搜索表单

header.htm 中的搜索框通常指向 /search.php

  • action="{dede:global name='cfg_phpurl'/}/search.php": 指定搜索表单提交的地址。
  • <input name="q">: 用户输入的关键词。
  • <input name="kwtype" value="0">: 搜索类型,0 表示关键词搜索。
  • <input name="searchtype" value="titlekeyword">: 搜索范围,titlekeyword 表示在标题和关键词中搜索。

当前页面信息标签

这些标签通常用在 <head> 部分,用于动态设置每个页面的 <title><meta> 信息。

  • {dede:field.title/}: 当前页面的标题(如文章标题、栏目名称)。
  • {dede:field.name='keywords'/}: 当前页面的关键词。
  • {dede:field.name='description' function='html2text(@me)'/}: 当前页面的描述,这里使用了 function 属性,调用了 html2text 函数,用于将可能包含HTML的描述文本转换为纯文本。

如何自定义你的 header.htm

  1. 修改Logo:

    • 上传你的Logo图片到 /templets/你的模板目录/images/ 目录下。
    • 进入织梦后台“系统” -> “系统基本参数” -> “核心设置”,找到“网站Logo文件”一项,填入你的Logo文件名(如 my-logo.png)。
    • 修改 <img> 标签的 src 属性或 <a> 标签的文本内容以符合你的设计。
  2. 修改主导航:

    • 修改 {dede:channel}row 值来增减导航项数量。
    • 修改 <ul><li> 的CSS类名(如 .main-nav ul li)来调整样式。
    • 修改 currentstyle 的值来改变高亮效果,例如改为 <li class='current'><a href='~typelink~'>~typename~</a></li>
  3. 修改搜索框样式:

    • 修改 .search-box, .search-input, .search-btn 等CSS选择器来改变搜索框的外观。
  4. 增减顶部链接:

    • 直接在 .topbar-rightdiv 中添加或删除 <a> 标签即可,可以添加一个“设为首页”的链接:<a href="javascript:void(0)" onclick="homed()">设为首页</a>,并在JS文件中编写 homed() 函数。

注意事项

  • 路径问题: 使用 {dede:global.cfg_templets_skin/} 是最稳妥的调用CSS、JS等资源的方式,它能自动定位到当前模板目录。
  • SEO: <title><meta> 标签的正确使用对SEO至关重要,确保 {dede:field.title/} 等标签被正确放置。
  • 响应式设计: 在编写 header.htm 时,应考虑在不同设备(PC、平板、手机)上的显示效果,通常会用CSS媒体查询(@media)来控制导航在小屏幕下如何收起或变为菜单图标。

希望这份详细的解析能帮助你完全理解和使用织梦的 header.htm 文件!

-- 展开阅读全文 --
头像
织梦cms 点击栏目 403
« 上一篇 2025-12-22
织梦调用head到index
下一篇 » 2025-12-22

相关文章

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

目录[+]