DedeCMS 的当前位置主要涉及两个部分:

(图片来源网络,侵删)
- 模板文件:定义了 HTML 结构。
- CSS 样式文件:控制了显示样式,如颜色、字体、间距等。
下面我将分步讲解如何修改它的样式,从最简单的到最推荐的方案。
第一步:找到并理解当前位置的模板代码
“当前位置”的模板代码通常位于你的网站模板目录下的 article_article.htm(文章页)或 index.htm(首页)等文件中,代码通常是这样的:
{dede:field name='position' runphp='yes'}
@me = str_replace(' > ', ' <span class="arrow">></span> ', @me);
{/dede:field}
代码解析:
{dede:field name='position'}:这是 DedeCMS 的一个字段标签,用于输出当前位置的文本,首页 > 技术文章 > DedeCMS教程。runphp='yes':允许我们在标签内使用 PHP 代码来处理输出内容。@me = ...:@me是一个变量,代表当前标签的原始输出值,我们获取到首页 > 技术文章 > DedeCMS教程这个字符串。str_replace(' > ', ' <span class="arrow">></span> ', @me):这是核心的 PHP 函数,它将原始文本中的>(一个大于号加前后空格)替换成<span class="arrow">></span>。
为什么要这么做?
这种做法比直接使用 > 更好,因为它允许我们为箭头符号添加独立的 CSS 样式,实现更灵活、更美观的效果,如果你直接写 >,它只是一个普通文本,很难用 CSS 单独控制。

(图片来源网络,侵删)
第二步:修改 CSS 样式
CSS 样式通常位于模板目录下的 style.css 文件中,我们需要根据第一步中生成的 HTML 结构来添加或修改样式。
假设你的模板代码是:
首页 <span class="arrow">></span> 技术文章 <span class="arrow">></span> DedeCMS教程
我们来为这个结构添加 CSS 样式。
基础样式修改(只修改颜色和大小)
如果你只想简单地修改颜色、字体大小和间距,可以直接修改当前样式。
/* 位置导航基础样式 */
.navpath, .position {
font-size: 12px; /* 设置字体大小 */
color: #666; /* 设置文字颜色 */
padding: 10px 0; /* 设置上下内边距 */
}
/* 链接样式 */
.navpath a, .position a {
color: #007bff; /* 设置链接颜色 */
text-decoration: none; /* 去掉下划线 */
}
.navpath a:hover, .position a:hover {
color: #0056b3; /* 鼠标悬停时的链接颜色 */
text-decoration: underline; /* 悬停时显示下划线 */
}
注意:有些模板的类名可能是 .navpath,有些是 .position,请检查你的 HTML 结构或浏览器开发者工具来确定正确的类名。
高级样式修改(美化箭头和分隔符)
这是最推荐和最灵活的方法,它能让你创建出更现代、更美观的面包屑导航。
修改模板代码(如果尚未修改)
确保你的模板代码使用了 <span> 包裹分隔符:
{dede:field name='position' runphp='yes'}
@me = str_replace(' > ', ' <i class="fas fa-angle-right"></i> ', @me);
{/dede:field}
这里我换成了 Font Awesome 的右箭头图标 <i class="fas fa-angle-right"></i>,效果更佳,你需要先在模板的 <head> 部分引入 Font Awesome 库:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
添加 CSS 样式
我们可以为整个面包屑、链接和图标分别添加样式。
/* 1. 整体容器样式 */
.position {
font-size: 14px;
color: #999;
padding: 15px 0;
margin-bottom: 20px;
}
/* 2. 链接样式 */
.position a {
color: #333;
text-decoration: none;
padding: 0 5px; /* 给链接左右加一点间距 */
transition: color 0.2s ease; /* 添加颜色过渡动画 */
}
.position a:hover {
color: #007bff; /* 悬停时变蓝 */
}
/* 3. 分隔符(箭头)样式 */
.position .fa-angle-right {
color: #ccc;
margin: 0 8px; /* 给箭头左右加间距 */
font-size: 12px; /* 可以调整图标大小 */
}
/* 4. 当前页面(最后一个非链接文本)样式 */
.position > span:last-child {
color: #333;
font-weight: 500; /* 加粗 */
}
/* 5. 更现代的样式:使用伪元素 ::after 创建分隔符 */
/* 这种方法更简洁,无需在模板中替换 */
.position-alt a {
color: #333;
text-decoration: none;
}
.position-alt a:not(:last-child)::after {
content: "/"; /* 使用斜杠作为分隔符 */
color: #ccc;
margin: 0 10px;
font-weight: normal;
}
.position-alt > span:last-child {
color: #666;
font-weight: 500;
}
第三步:实际操作步骤
- 备份文件:在修改任何文件之前,请务必备份你的模板文件(如
article_article.htm)和样式文件(style.css)。 - 打开模板文件:使用 FTP 或文件管理器登录你的服务器,打开
templets/你的模板文件夹/article_article.htm。 - 找到并修改位置代码:找到类似
{dede:field name='position'}的代码块,按照“方案二”中的示例进行修改。 - 打开样式文件:打开
templets/你的模板文件夹/style.css。 - 添加或修改 CSS:将“方案二”中的 CSS 代码复制到
style.css文件中,你可以根据自己网站的主题色调整颜色值(如#007bff)。 - 保存并刷新:保存两个文件,然后刷新你的网站文章页面,查看效果,如果效果不理想,可以反复调整 CSS 值,或者使用浏览器的“开发者工具”(按 F12)来实时调试样式。
| 修改目标 | 模板代码修改 | CSS 样式修改 | 优点 |
|---|---|---|---|
| 简单修改 | 无需修改 | 直接修改 .position 或 .navpath 的样式 |
快速,适合小幅度调整。 |
| 美化分隔符 | 使用 str_replace 将 > 替换为 <span> 或 <i>
| ||
| 使用图标 | 将分隔符替换为 Font Awesome 等图标代码 | 为图标类(如 .fa-angle-right)添加样式 |
效果专业,视觉更佳。 |
通过以上步骤,你就可以完全掌控 DedeCMS 当前位置的样式,让它完美地融入你的网站设计中。
