- 推荐方法:使用DedeCMS的
channel标签(最灵活、最常用) - 简单方法:使用
flink标签(适用于友情链接类型的菜单)
使用 channel 标签(推荐)
这种方法最灵活,因为它可以直接调用您网站后台设置的栏目,并且可以自定义每个菜单项的名称、链接和样式。

(图片来源网络,侵删)
步骤 1:准备CSS样式
在您的模板文件(通常是 /templets/default/index.htm)的 <head> 标签内,添加以下CSS代码,用于控制菜单的样式。
/* 左侧横向菜单样式 */
.left-h-menu {
width: 200px; /* 菜单栏总宽度 */
background-color: #f4f4f4; /* 背景色 */
padding: 10px 0; /* 上下内边距 */
border: 1px solid #ddd; /* 边框 */
}
.left-h-menu ul {
list-style: none; /* 去掉列表前的点 */
margin: 0;
padding: 0;
}
.left-h-menu li {
display: inline-block; /* 关键:让列表项水平排列 */
margin-right: 10px; /* 菜单项之间的间距 */
padding: 5px 15px; /* 菜单项的内边距 */
border-radius: 4px; /* 圆角 */
}
.left-h-menu li a {
text-decoration: none; /* 去掉链接下划线 */
color: #333; /* 默认文字颜色 */
font-size: 14px;
display: block; /* 让a标签撑满li */
}
/* 鼠标悬停效果 */
.left-h-menu li a:hover {
color: #007bff; /* 悬停时文字颜色 */
background-color: #e9ecef; /* 悬停时背景色 */
}
步骤 2:在模板中调用菜单
在您希望显示菜单的位置(在 <body> 标签内,主内容区的左侧),使用 channel 标签来调用栏目。
channel 标签的常用参数:
type='top':调用顶级栏目。row='数字':显示的栏目数量。col='数字':每行显示的栏目数量,对于横向菜单,这个参数可以控制显示几行,但我们用CSS控制了单行,所以这里可以忽略或设为1。currentstyle='...':当前栏目所在的项的样式模板。currentstyle='<li class="current"><a href("~typelink~")>~typename~</a></li>'。selftop='yes':包含顶级栏目本身。
示例代码:

(图片来源网络,侵删)
<div class="left-h-menu">
<ul>
{dede:channel type='top' row='8' currentstyle="<li class='current'><a href='~typelink~'>~typename~</a></li>"}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
</div>
代码解释:
{dede:channel type='top' ...}:开始一个顶级栏目的循环。row='8':调用前8个顶级栏目。currentstyle="...":定义了当用户访问某个栏目时,该菜单项的HTML结构,这里我们给它加了一个class="current",方便用CSS单独定义样式(例如高亮显示)。<li><a href="[field:typelink/]">[field:typename/]</a></li>:这是每个普通菜单项的模板。[field:typelink/]是栏目的链接,[field:typename/]是栏目的名称。{/dede:channel}:循环结束。
最终效果: 这会生成一个水平排列的列表,列表中的每一项都是您网站的一个顶级栏目链接。
使用 flink 标签(适用于友情链接)
如果您想做的菜单内容和“友情链接”类似(即是一些外部链接或自定义链接),而不想通过后台栏目来管理,那么使用 flink 标签会更方便。
步骤 1:在后台添加链接
- 登录DedeCMS后台。
- 进入 【核心】 -> 【友情链接管理】。
- 点击 【增加新链接】。
- 在“网站名称”和“网址”中填入您的菜单项信息。
- 重要:在“类型”中选择 “文字链接”。
- 提交。
重复此步骤,添加所有您需要的菜单项。

(图片来源网络,侵删)
步骤 2:准备CSS样式
CSS样式和方法一完全一样,因为HTML结构是相似的。
步骤 3:在模板中调用链接
使用 flink 标签来调用这些链接。
flink 标签的常用参数:
type='text':只调用文字类型的链接。row='数字':显示的链接数量,len='数字'`:链接标题的长度。
示例代码:
<div class="left-h-menu">
<ul>
{dede:flink type='text' row='10' titlelen='24'}
<li><a href="[field:url/]" target="_blank">[field:name/]</a></li>
{/dede:flink}
</ul>
</div>
代码解释:
{dede:flink type='text' row='10' ...}:开始一个文字链接的循环,最多显示10个。<li><a href="[field:url/]" target="_blank">[field:name/]</a></li>:每个链接的模板。[field:url/]是链接地址,[field:name/]是链接名称。target="_blank"表示点击链接在新窗口打开。{/dede:flink}:循环结束。
总结与对比
| 特性 | channel
| |
|---|---|---|
| 数据来源 | DedeCMS后台的栏目管理 | DedeCMS后台的友情链接管理 |
| 适用场景 | 网站主导航、频道导航等网站内部结构 | 自定义菜单、外部链接、合作伙伴等 |
| 灵活性 | 高,可以直接链接到栏目列表页,SEO友好。 | 中等,主要用于快速添加一组链接。 |
| 推荐度 | (制作栏目菜单的首选) | (制作链接式菜单的便捷选择) |
最终建议:
对于绝大多数网站首页的左侧横向菜单,请优先使用 方法一(channel,因为它与DedeCMS的核心功能结合最紧密,管理和维护起来也最方便。
