DedeCMS 是一个非常经典且功能强大的 PHP 开源网站管理系统,特别适合用来做资讯、文章、下载类网站,但它的灵活性和标签系统也使其非常适合构建导航网站。

下面我将从核心理念、搭建步骤、关键技巧和优化建议四个方面,为你提供一个完整的 DedeCMS 导航网站搭建指南。
核心理念:DedeCMS 如何实现导航功能?
DedeCMS 的核心是“频道模型”,一个导航网站,本质上就是一个以“网址”为主要内容的特殊内容网站,我们可以利用 DedeCMS 的以下功能来实现:
-
核心频道:网站分类
- 我们将网站的导航大类(如“社交网络”、“视频网站”、“设计工具”)设置为 DedeCMS 的顶级栏目。
- 每个大类下的具体网站(如“微信”、“QQ”、“抖音”),则设置为对应顶级栏目下的子栏目。
- 关键点:这里的“子栏目”就是我们导航网站中的“导航条目”。
-
内容模型:自定义“网址”模型
(图片来源网络,侵删)- DedeCMS 默认的文章模型可能不适合存放网址信息,我们需要创建一个新的内容模型,专门用来存放导航条目。
- 在这个新模型中,我们可以自定义字段,
site_url(网站链接) - 必填,存放目标网址。site_logo(网站图标) - 存放网站的 Logo 图片地址。site_desc(网站描述) - 存放网站的简短介绍。site_click(点击次数) - 用于统计点击量。site_addtime(收录时间) - 记录网站被收录的时间。
-
数据采集:自动填充内容
- 手动添加几百上千个网址非常耗时,DedeCMS 强大的远程采集(火车头)功能可以大显身手。
- 我们可以配置采集规则,从其他导航网站、API 接口或列表页自动抓取网站名称、Logo、链接和描述,然后发布到我们创建的栏目中。
-
模板标签:调用和展示数据
- DedeCMS 使用模板标签来调用数据库中的数据,并生成 HTML 页面。
- 我们可以通过标签调用指定栏目下的所有子栏目(即导航条目),循环输出,形成一个漂亮的导航列表。
搭建步骤:手把手教你做导航站
假设我们要做一个“酷站导航”。
第 1 步:安装并配置 DedeCMS
- 下载 DedeCMS 最新版本,上传到你的服务器,并按照提示完成安装。
- 后台登录,进入“系统” -> “系统基本参数”,进行网站的全局设置,如网站名称、网站Logo、版权信息等。
第 2 步:创建自定义内容模型
- 进入“核心” -> “内容模型管理” -> “添加新模型”。
- 模型名称:填写“网址导航”。
- 模型表:使用默认的
dede_addonarticle或新建一个,新建需要修改数据库,建议新手使用默认。 - 字段列表:这是最关键的一步,点击“字段管理” -> “添加新字段”。
- 字段名:
site_url- 字段类型:
文本 - 变量名:
siteurl - 提示文字:
网站链接 - 是否为空:
否
- 字段类型:
- 字段名:
site_logo- 字段类型:
多媒体 - 变量名:
sitelogo - 提示文字:
网站图标
- 字段类型:
- 字段名:
site_desc- 字段类型:
文本区域 - 变量名:
sitedesc - 提示文字:
网站描述
- 字段类型:
- (可选)
site_click:数字类型,用于统计点击。
- 字段名:
- 保存模型,你的自定义模型就创建好了。
第 3 步:创建导航栏目
- 进入“核心” -> “栏目管理”。
- 添加顶级栏目:
- 点击“添加顶级栏目”。
- 栏目名称:
社交网络 - 栏目目录:
shejiao - 类型:选择你刚刚创建的“网址导航”模型。
- 勾选“允许发布”。
- 其他设置根据需要填写,然后保存。
- 添加子栏目(导航条目):
- 选中“社交网络”栏目,点击“添加子栏目”。
- 栏目名称:
微信 - 栏目目录:
wechat - 类型:同样选择“网址导航”模型。
- 在“自定义文档属性”中,勾选“生成静态HTML”。
- ”选项卡中,填写你为自定义模型添加的字段值:
- 网站链接:
https://weixin.qq.com - 网站图标:上传微信的 Logo 图片。
- 网站描述:
微信,一个生活方式。
- 网站链接:
- 保存。
- 用同样的方法,添加“QQ”、“微博”等其他社交网站。
第 4 步:制作导航模板
- 进入“模板” -> “模板管理”。
- 我们需要修改两个模板:
- 首页模板 (
index.htm):用于展示所有导航大类。 - 栏目列表页模板 (
list_channel.htm):用于展示某个大类下的所有导航条目。
- 首页模板 (
修改栏目列表页模板 (list_channel.htm)

这是导航网站的核心页面,我们需要用循环标签来调用当前栏目下的所有子栏目。
找到默认的 list_channel.htm,用以下代码替换其主要内容部分:
{dede:channel type='son' noself='yes'}
<a href="[field:typelink/]" title="[field:typename/]" target="_blank">
<img src="[field:litpic/]" alt="[field:typename/]">
<span>[field:typename/]</span>
</a>
{/dede:channel}
代码解释:
{dede:channel type='son' noself='yes'}:这是一个循环标签,type='son'表示调用当前栏目的所有子栏目,noself='yes'表示不调用栏目本身。[field:typelink/]:子栏目的链接地址。[field:litpic/]:子栏目的缩略图,也就是我们上传的网站 Logo。[field:typename/]:子栏目的名称,也就是网站名。
你可以用 CSS 美化这些 <a> 标签,让它们以图标+文字的形式整齐排列。
修改首页模板 (index.htm)
首页可以展示所有顶级栏目,并链接到对应的列表页。
{dede:channel type='top' row='10'}
<h2><a href="[field:typelink/]" target="_blank">[field:typename/]</a></h2>
<div class="sub-links">
{dede:channel type='son' noself='yes' row='20'}
<a href="[field:typelink/]" title="[field:typename/]" target="_blank">[field:typename/]</a>
{/dede:channel}
</div>
{/dede:channel}
代码解释:
{dede:channel type='top'}:循环调用所有顶级栏目(如“社交网络”、“视频网站”)。- 在顶级栏目内部,再嵌套一个
{dede:channel type='son'}来调用其下的子栏目,实现“大类 -> 小类”的展示效果。
第 5 步:生成网站
- 在后台首页,点击“一键更新网站”,选择“更新主页”和“更新所有栏目页”。
- DedeCMS 会根据你制作的模板和数据库中的数据,生成静态的 HTML 文件,你的导航网站就基本完成了!
关键技巧与高级功能
-
使用火车头进行数据采集:
- 这是快速填充网站内容的不二法门,你需要配置采集规则,指定要抓取的网址列表页、列表规则(如用 XPath)、内容页规则等。
- 采集完成后,数据会发布到你指定的栏目中,大大减少了手动录入的工作量。
-
实现点击统计:
- 在自定义模型中添加
site_click字段(数字类型)。 - 在列表页模板中,链接可以这样写:
<a href="[field:site_url/]" onclick="javascript:clickAdd('[field:id/]');return false;">。 - 在网站底部引入一个 JS 文件(
click.js如下:function clickAdd(id) { window.location.href = '/plus/count.php?view=yes&aid=' + id; } count.php是 DedeCMS 自带的点击统计脚本,点击后,它会自动更新site_click的值,然后通过window.location.href跳转到真正的目标网址。
- 在自定义模型中添加
-
增加“提交网址”功能:
- 用户友好的导航站应该允许用户提交新网址。
- 在 DedeCMS 后台,可以开启“会员投稿”功能,并指定一个“提交网址”的投稿栏目。
- 制作一个投稿页面模板,让用户填写网站名称、链接、描述等信息,提交后由管理员审核再发布。
优化建议
-
SEO 优化:
- TDK 优化:为每个栏目页和首页设置独特的标题、关键词和描述。
- URL 优化:确保栏目目录和文章标题都是拼音或英文,简洁明了。
- 内链优化:在网站描述或相关推荐中,自然地添加内链。
-
性能优化:
- 静态化:务必开启并使用全站静态化,这是 DedeCMS 性能的基础。
- 缓存:在后台开启页面缓存功能。
- 图片优化:Logo 等图片要提前压缩,并在模板中指定宽高,避免页面布局抖动。
-
用户体验:
- 设计美观:使用现代化的 CSS 框架(如 Bootstrap)或自己编写 CSS,让网站看起来专业、清爽。
- 加载速度:选择一个优质的服务器,优化图片和资源加载。
- 移动端适配:使用响应式模板,确保在手机上也能有良好的浏览体验。
使用 DedeCMS 建导航网站,核心在于善用“栏目”和“自定义模型”,将导航大类设为栏目,具体网址设为栏目下的“内容”(子栏目),并通过自定义模型来丰富网址的属性,再利用强大的模板标签和采集功能,你就可以快速搭建一个功能完善、内容丰富的导航网站了。
希望这份详细的指南能对你有所帮助!
