第一部分:核心概念理解
在动手之前,必须先理解 DedeCMS 会员系统的几个核心概念,这能让你事半功倍。

(图片来源网络,侵删)
-
会员中心
- 位置:
/member/目录,这是所有会员相关页面的根目录。 - 入口: 网站首页通过
{dede:memberlist}或<a href="/member/">等标签链接到会员中心首页。
- 位置:
-
会员模型
- DedeCMS 允许创建不同的会员模型,普通会员”、“企业会员”、“VIP会员”等。
- 不同的模型可以有不同的注册字段、不同的资料项和不同的模板。
- 默认模型: 通常我们操作的是默认的会员模型(ID=1)。
-
模板文件
- 位置:
/templets/目录下,有一个名为member/的子目录,里面存放了所有会员页面的模板文件。 - 文件命名规则:
index.htm: 会员中心首页模板。space_{字段名}.htm: 会员个人主页模板。space_username.htm就是用户名为test的会员主页/member/index.php?uid=123所用的模板。regnew.htm: 新会员注册页面模板。editinfo.htm: 编辑个人资料页面模板。myfriend.htm: 好友列表页面模板。- ...等等,每个功能页面都有对应的模板文件。
- 位置:
-
模板标签
(图片来源网络,侵删)- 会员模板同样使用 DedeCMS 的模板引擎,但标签与前台不同,主要围绕会员数据。
- 常用标签:
{dede:field}: 获取当前会员的单个字段值。{dede:field.sex /}获取性别。{dede:global}: 获取全局变量。{dede:global.cfg_webname /}获取网站名称。{dede:arclist}: 在会员中心调用会员自己的文章列表。{dede:loop}: 循环输出数据,非常灵活。
第二部分:会员中心首页模板制作
会员中心首页是会员登录后看到的主界面,通常包含个人信息、快捷操作、我的文章、我的评论等模块。
步骤 1:找到并复制模板文件
- 打开
/templets/member/目录。 - 找到
index.htm文件。强烈建议不要直接修改它! - 复制
index.htm,并将其重命名为一个新的名字,member_index_new.htm,这样做的目的是保留原始模板,以防出错或需要恢复。
步骤 2:修改模板文件
使用你喜欢的代码编辑器(如 VS Code, Sublime Text, Dreamweaver)打开 member_index_new.htm。
一个典型的会员中心首页结构如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:global.cfg_webname/} - 会员中心</title>
<!-- 引入CSS文件 -->
<link rel="stylesheet" href="/templets/member/style/css.css" type="text/css" />
</head>
<body>
<div class="member_main">
<!-- 左侧导航栏 -->
{dede:include filename="left.htm"/}
<!-- 右侧主要内容区 -->
<div class="member_m">
<!-- 会员信息头部 -->
<div class="userinfo">
<div class="userface"><img src="{dede:field.face /}" /></div>
<div class="userinfo_r">
<h3>{dede:field.username/},您好!</h3>
<p>上次登录时间:{dede:field.logintime function="MyDate('Y-m-d H:i:s',@me)"/}</p>
</div>
</div>
<!-- 快捷功能区 -->
<div class="quicklink">
<ul>
<li><a href="/member/editinfo.php">修改资料</a></li>
<li><a href="/member/reg.php">修改密码</a></li>
<li><a href="/member/article_list.php">我的文章</a></li>
<li><a href="/member/feedback.php">我的评论</a></li>
</ul>
</div>
<!-- 我的文章列表 -->
<div class="mylist">
<h3>我的文章</h3>
<ul>
{dede:arclist row='5' titlelen='30'}
<li><a href="[field:arcurl/]">[field:title/]</a> ([field:pubdate function="MyDate('Y-m-d',@me)"])</li>
{/dede:arclist}
</ul>
</div>
</div>
</div>
</body>
</html>
步骤 3:分析和修改模板标签
{dede:include filename="left.htm"/}: 这是包含左侧导航栏的标签。left.htm文件就在同级目录下,你可以修改left.htm来改变导航栏的内容和样式。{dede:field.face /}: 显示会员的头像,如果没有上传,可能显示默认头像。{dede:field.username/}: 显示会员的用户名。{dede:field.logintime function="MyDate('Y-m-d H:i:s',@me)"/}: 显示上次登录时间,并用function="MyDate()"函数将时间戳格式化为易读的格式。{dede:arclist row='5' titlelen='30'}: 这是调用会员自己发布的文章列表。row='5': 只调用5条。titlelen='30': 标题长度最多30个字符。[field:arcurl/]: 文章链接。[field:title/]: 文章标题。[field:pubdate...]: 发布日期。
如何自定义?

(图片来源网络,侵删)
你可以像修改普通 HTML 网页一样,修改这个 member_index_new.htm 文件。
- 改变 CSS 类名(如
userinfo,mylist),然后在/templets/member/style/css.css中定义这些类的样式。 - 增加新的模块,我的收藏”、“我的消息”等,并为它们编写新的 HTML 结构和调用相应的标签。
步骤 4:应用新模板
修改完成后,你需要告诉 DedeCMS 使用这个新模板。
- 登录 DedeCMS 后台。
- 进入 “系统” -> “系统基本参数” -> “会员设置”。
- 找到 “会员主页模板” 这个选项。
- 将默认的
index.htm修改为你刚刚创建的member_index_new.htm。 - 点击“保存”。
- 清除一下缓存(后台的“系统” -> “一键更新网站” -> “更新缓存”)。
访问会员中心,你就能看到新的样式了。
第三部分:会员个人主页模板制作
会员个人主页是指别人访问 /member/index.php?uid=123 时看到的页面,展示该会员的公开信息。
步骤 1:找到并复制模板文件
- 在
/templets/member/目录下,找到space_username.htm。 - 同样,建议复制一份,命名为
space_profile_new.htm。
步骤 2:修改模板文件
打开 space_profile_new.htm,你会发现它的结构和 index.htm 不同,它更侧重于展示一个固定会员的信息。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:field.username/}的个人主页 - {dede:global.cfg_webname/}</title>
</head>
<body>
<div class="space_main">
<!-- 个人信息展示区 -->
<div class="space_profile">
<div class="space_face"><img src="{dede:field.face/}" /></div>
<div class="space_info">
<h2>{dede:field.username/}</h2>
<p>性别:{dede:field.sex/}</p>
<p>来自:{dede:field.nativeplace/}</p>
<p>注册时间:{dede:field jointime function="MyDate('Y-m-d',@me)"/}</p>
<p>个人简介:{dede:field.intro/}</p>
</div>
</div>
<!-- 该会员发布的文章列表 -->
<div class="space_article">
<h3>发布的文章</h3>
{dede:arclist row='10' titlelen='40'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</div>
</div>
</body>
</html>
步骤 3:分析和修改
- 这个模板里的
{dede:field}标签,不再是“当前登录会员”的信息,而是“被访问的这个UID的会员”的信息,DedeCMS 后台会自动处理数据绑定。 - 你可以自由增删字段,
{dede:field.qq/},{dede:field.wechat/}等,但前提是你在后台的“会员模型管理”中添加了这些字段。
步骤 4:应用新模板
- 登录 DedeCMS 后台。
- 进入 “会员” -> “会员模型” -> “会员字段管理”。
- 你可以添加或修改会员的资料项(比如QQ、微信号等)。
- 然后进入 “系统” -> “系统基本参数” -> “会员设置”。
- 找到 “会员空间主页模板”,将其修改为
space_profile_new.htm。 - 保存并更新缓存。
第四部分:注册和编辑资料页面
这两个页面的制作逻辑与首页类似,都是修改对应的模板文件。
-
注册页面: 修改
/templets/member/regnew.htm。- 表单的
action必须指向/member/reg_new.php。 - 表单元素(如
input,select)的name属性必须与后台“会员模型”中的字段名一致。 {dede:php}标签可用于验证码等复杂逻辑。
- 表单的
-
编辑资料页面: 修改
/templets/member/editinfo.htm。- 表单的
action指向/member/editinfo.php。 - 表单元素的
value值用{dede:field.字段名/}来填充,实现数据回显。
- 表单的
第五部分:常见问题与技巧
-
样式错乱?
- 检查你的 HTML 结构是否正确。
- 确保你修改的 CSS 类名与模板中的类名一致。
- 检查
/templets/member/style/目录下的 CSS 文件是否被正确引入。
-
标签不显示数据?
- 确认标签名称是否拼写错误,
feild写成了field。 - 确认对应的字段在后台的“会员模型”中是否存在且已启用。
- 检查是否需要使用
function函数进行数据处理(如时间戳)。
- 确认标签名称是否拼写错误,
-
如何调用会员等级?
- 在后台的“会员模型”中,确保你有一个字段用于存储等级(如
rank)。 - 在模板中直接调用:
{dede:field.rank/}。 - 更高级的做法是,在
member表中有一个scores(积分)字段,你可以根据积分范围来判断等级,这需要用到{dede:php}自定义逻辑。
- 在后台的“会员模型”中,确保你有一个字段用于存储等级(如
-
如何实现自定义的会员中心页面?
- 假设你想做一个“我的钱包”页面。
- 第一步: 在数据库的
dede_member表中增加一个money字段(或新建一个相关表)。 - 第二步: 创建一个新文件
/member/wallet.php,编写 PHP 逻辑来查询和显示当前登录用户的money。 - 第三步: 创建一个新模板
/templets/member/wallet.htm,用{dede:php}从$row变量中获取money的值并显示。 - 第四步: 在
left.htm中添加一个链接指向/member/wallet.php。
制作 DedeCMS 会员模板的核心流程是:
- 备份: 修改前务必复制原始模板文件。
- 定位: 找到对应功能的模板文件(如
index.htm)。 - 理解: 理解模板中
{dede:field}等标签的含义和数据来源。 - 修改: 像修改普通 HTML/CSS 一样,编写新的结构和样式。
- 应用: 在后台“系统基本参数”中设置新的模板文件名。
- 测试: 清除缓存,访问前台查看效果,不断调试。
希望这份详细的教程能帮助你掌握 DedeCMS 会员模板的制作!祝你成功!
