下面我将从核心概念、模板文件详解、常用修改技巧和注意事项四个方面,为你提供一个全面的中文模板使用指南。

核心概念:模板如何工作?
在 DedeCMS 中,用户中心的所有页面都不是直接由 PHP 代码生成的,而是通过一个“模板渲染”的过程:
- 用户访问:用户点击“会员中心”等链接,向服务器发送一个请求。
- PHP 脚本处理:DedeCMS 的 PHP 脚本(如
member/index.php)会接收请求,查询数据库,获取当前登录用户的信息、文章、订单等数据。 - 模板加载:PHP 脚本会根据用户请求的具体功能(如看个人资料、看文章列表),加载对应的模板文件(如
templets/default/userinfo.htm)。 - 数据填充:PHP 脚本将数据库中查询到的数据,按照
{dede:}标签的规则,填充到模板文件中。 - 最终输出:渲染完成的 HTML 代码被发送到用户的浏览器,显示成一个完整的网页。
PHP 负责逻辑和数据,模板(.htm 文件)负责样式和展示。
核心模板文件详解
用户中心的模板文件都位于 /templets/ 目录下,默认情况下,DedeCMS 会使用 /templets/default/ 这个默认模板,如果你想自定义,最好复制一份 default 文件夹,重命名(如 my_member),然后在后台“系统”->“系统基本参数”->“核心设置”中,将“会员中心默认模板风格”修改为你的新文件夹名,这样修改不会影响原模板,方便升级。
以下是几个最核心和常用的模板文件:

用户中心主页 (index.htm)
这是用户登录后进入的第一个页面,通常是一个包含多个功能模块的仪表盘。
- 路径:
/templets/default/index.htm - 作用:展示用户的基本信息(头像、昵称)、快捷入口(发布文章、查看订单等)和最近动态。
- 关键标签:
{dede:global.cfg_webname/}:网站名称。{dede:memberinfos}:循环输出用户的基本信息,如{dede:field.userid/}(用户ID)、{dede:field.uname/}(用户名)、{dede:field.face/}(头像地址)。{dede:arclist}:调用该用户发布的文章列表。{dede:myurl}:生成会员中心的链接。
个人资料页面 (userinfo.htm)
用户在这里查看和修改自己的个人资料。
- 路径:
/templets/default/userinfo.htm - 作用:展示和编辑用户名、密码、邮箱、QQ、手机号等信息。
- 关键标签:
{dede:php}...{/dede:php}:可以嵌入 PHP 代码,用于判断或处理数据。{dede:field}:用于输出单个字段,如{dede:field.userid/}、{dede:field.email/}。<input>表单:这些表单的name属性必须与数据库字段名一致,<input type="text" name="email" value="{dede:field.email/}" />。
文章管理页面 (article_list.htm)
用户在这里查看自己发布的所有文章。
- 路径:
/templets/default/article_list.htm - 作用:以列表形式展示用户的文章,包括标题、发布时间、状态(已审核/待审核/未通过)、操作(编辑/删除)。
- 关键标签:
{dede:list}:核心列表标签,用于循环输出文章。[field:title]。[field.senddate function="MyDate('Y-m-d H:i:s',@me)"]:发布时间,使用函数格式化。[field.arctypeid]:栏目ID。[field.id]:文章ID。
{dede:pagelist}:文章分页列表。
文章发布页面 (article_add.htm)
用户在这里发布新文章。
- 路径:
/templets/default/article_add.htm - 作用:包含文章标题、内容、栏目选择、标签、摘要等输入表单。
- 关键标签:
{dede:php}:用于调用栏目列表。{dede:php} $dsql->SetQuery("SELECT id,typename FROM `#@__arctype` WHERE reid=0 AND channeltype=1 ORDER BY sortrank"); $dsql->Execute(); while($row = $dsql->GetArray()){ echo "<option value='{$row['id']}'>{$row['typename']}</option>"; // 可以递归调用子栏目... } {/dede:php}{dede:field name='body'}编辑器,通常是一个textarea。
模板文件头部和尾部 (head.htm & footer.htm)
为了保持整个网站风格统一,用户中心的每个页面都会引入这两个文件。
- 路径:
/templets/default/head.htm和/templets/default/footer.htm - 作用:
head.htm:包含<head>标签里的内容,如网站标题、CSS 样式表链接、JS 脚本等。footer.htm:包含页面底部信息,如版权声明、友情链接等。
- 修改建议:修改这两个文件可以统一用户中心所有页面的头部和底部样式。
常用修改技巧
如何修改用户中心的样式?
直接编辑 .htm 文件中的 HTML 和 CSS,你可以在模板文件中直接写 <style> 标签,或者像 head.htm 中那样,引入外部的 CSS 文件,推荐后者,便于维护。
示例:在 head.htm 中添加自定义 CSS
<link href="{dede:global.cfg_templets_skin/}/css/member.css" rel="stylesheet" type="text/css" />
然后在 /templets/default/css/member.css 文件中编写你的样式。
如何添加自定义字段?
如果你想增加一个“公司名称”字段,需要三步:
- 修改数据库:在
dede_member表(存储用户基本信息的表)中添加一个新字段,如company。 - 修改模板:在
userinfo.htm中添加输入框:<tr> <td>公司名称:</td> <td><input type="text" name="company" value="{dede:field.company/}" /></td> </tr> - 修改处理逻辑:找到处理用户信息更新的 PHP 文件(通常是
/member/modifyinfo.php),在其中添加代码来保存company字段的值,这通常需要一定的 PHP 知识。
如何调用特定数据?
DedeCMS 的标签系统非常强大,你想在用户中心主页显示用户的最新 5 条订单(如果你开启了商城功能):
{dede:sql sql="SELECT * FROM `dede_order` WHERE userid=~dede.memberinfo.userid~ ORDER BY id DESC limit 0,5"}
<p>订单号:[field:orderno/] - 金额:[field:price/] 元</p>
{/dede:sql}
~dede.memberinfo.userid~ 是一个特殊写法,用于获取当前登录用户的 ID。
注意事项
- 备份!备份!备份! 在修改任何模板文件或数据库之前,务必备份原始文件和数据库,这是避免网站崩溃的黄金法则。
- 不要直接修改
default文件夹:升级 DedeCMS 时,default文件夹会被覆盖,导致你的所有修改丢失,请务必复制一份进行修改。 - 标签大小写:DedeCMS 的标签对大小写不敏感,但为了规范,建议统一使用小写。
- 权限问题:确保你的 Web 服务器(如 Apache/Nginx)对
/templets/目录有正确的读写权限,否则用户可能无法上传头像或保存修改。 - 安全考虑:在修改 PHP 处理逻辑时,务必对用户输入的数据进行过滤和验证,防止 SQL 注入等安全漏洞。
掌握 DedeCMS 用户中文模板,核心就是理解 “PHP + 数据库 + 模板标签” 的工作模式,通过修改 .htm 文件,你可以自由地控制用户界面的外观;通过学习和使用 {dede:} 标签,你可以灵活地调用和展示数据库中的数据。
希望这份详细的指南能帮助你更好地定制你的 DedeCMS 会员中心!如果你有更具体的需求,可以随时提出。
