核心文件位置
在织梦后台,模板文件通常位于 templets/ 目录下,会员相关的模板也不例外。

(图片来源网络,侵删)
-
会员登录模板文件
- 默认路径:
/templets/default/login.htm - 作用: 这是会员登录页面所调用的模板文件。
- 默认路径:
-
会员注册模板文件
- 默认路径:
/templets/default/reg_new.htm - 作用: 这是会员注册页面所调用的模板文件。
- 默认路径:
-
会员中心模板文件
- 默认路径:
/templets/default/member/目录下的各个文件。 - 作用: 会员登录成功后进入的个人中心页面。
- 默认路径:
重要提示:为了安全性和可维护性,强烈建议你不要直接修改 default 目录下的默认模板,你应该:

(图片来源网络,侵删)
- 在
templets目录下创建一个属于你自己的文件夹,mytheme。 - 将
default/login.htm和reg_new.htm复制到你新建的mytheme文件夹中。 - 在后台的【系统】->【系统基本参数】->【核心设置】中,将“默认模板引擎风格”修改为
mytheme。 - 之后,你只需要修改
mytheme文件夹里的模板文件即可。
会员登录模板 (login.htm) 详解
这是一个典型的 login.htm 文件结构,你可以根据这个结构进行修改和美化。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:global.cfg_webname/} - 会员登录</title>
<meta name="description" content="{dede:global.cfg_description/}">
<meta name="keywords" content="{dede:global.cfg_keywords/}">
<!-- 引入你的CSS文件,用于美化登录框 -->
<link rel="stylesheet" href="/templets/mytheme/css/style.css">
</head>
<body>
<div class="login-container">
<div class="login-box">
<h2>会员登录</h2>
<!-- 登录表单开始 -->
<form name="loginform" action="{dede:global.cfg_memberurl/}/index_do.php" method="POST">
<input type="hidden" name="dopost" value="login" />
<div class="form-group">
<label for="userid">用户名/邮箱:</label>
<input type="text" name="userid" id="userid" required />
</div>
<div class="form-group">
<label for="pwd">密码:</label>
<input type="password" name="pwd" id="pwd" required />
</div>
<div class="form-group">
<label for="vdcode">验证码:</label>
<div class="code-group">
<input type="text" name="vdcode" id="vdcode" required />
<!-- 验证码图片,点击可刷新 -->
<img src="{dede:global.cfg_cmspath/}/include/vdimgck.php" onclick="this.src='{dede:global.cfg_cmspath/}/include/vdimgck.php?'+Math.random();" title="看不清?点击更换" />
</div>
</div>
<div class="form-group">
<label>
<input type="checkbox" name="keeptime" value="604800" /> 记住我
</label>
<a href="{dede:global.cfg_memberurl/}/resetpassword.php" class="forget-pwd">忘记密码?</a>
</div>
<button type="submit" class="login-btn">登 录</button>
<div class="register-link">
还没有账号?<a href="{dede:global.cfg_memberurl/}/reg_new.php">立即注册</a>
</div>
</form>
<!-- 登录表单结束 -->
</div>
</div>
<!-- 引入你的JS文件,如果需要的话 -->
<script src="/templets/mytheme/js/login.js"></script>
</body>
</html>
代码解释:
{dede:global.cfg_memberurl/}: 这是织梦的全局变量,用于获取会员中心的URL,确保链接正确。name="dopost" value="login": 这是告诉织梦处理程序,这个表单是用来执行登录操作的。name="userid": 用户名输入框,可以填写用户名、邮箱或手机号(取决于后台设置)。name="pwd": 密码输入框。name="vdcode": 验证码输入框。{dede:global.cfg_cmspath/}/include/vdimgck.php: 这是织梦生成验证码图片的地址。onclick="this.src='...?'+Math.random();": 点击验证码图片时,通过改变URL参数来刷新验证码。name="keeptime" value="604800": “记住我”功能,604800是7秒(7243600)。
会员注册模板 (reg_new.htm) 详解
注册模板通常比登录模板更复杂,因为它需要收集更多信息。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:global.cfg_webname/} - 用户注册</title>
<link rel="stylesheet" href="/templets/mytheme/css/style.css">
</head>
<body>
<div class="register-container">
<div class="register-box">
<h2>用户注册</h2>
<!-- 注册表单开始 -->
<form name="regform" action="{dede:global.cfg_memberurl/}/index_do.php" method="POST" onsubmit="return checkRegister()">
<input type="hidden" name="dopost" value="regnew" />
<input type="hidden" name="step" value="1" />
<input type="hidden" name="mtype" value="个人" /> <!-- 可根据需要修改 -->
<div class="form-group">
<label for="userid">用户名:</label>
<input type="text" name="userid" id="userid" required />
<span class="tip">用户名只能由英文字母、数字、下划线组成,长度4-20位。</span>
</div>
<div class="form-group">
<label for="uname">昵称:</label>
<input type="text" name="uname" id="uname" required />
</div>
<div class="form-group">
<label for="pwd">密码:</label>
<input type="password" name="pwd" id="pwd" required />
</div>
<div class="form-group">
<label for="pwdok">确认密码:</label>
<input type="password" name="pwdok" id="pwdok" required />
</div>
<!-- 其他字段,根据你的需要添加或删除 -->
{dede:loop table='dede_membermodel' sort='id' row='1'}
<!-- 这里会动态加载你在后台添加的会员模型字段 -->
<!-- 邮箱 -->
<div class="form-group">
<label for="email">电子邮箱:</label>
<input type="text" name="email" id="email" required />
</div>
<!-- 手机号 -->
<div class="form-group">
<label for="mobile">手机号码:</label>
<input type="text" name="mobile" id="mobile" required />
</div>
{/dede:loop}
<div class="form-group">
<label for="vdcode">验证码:</label>
<div class="code-group">
<input type="text" name="vdcode" id="vdcode" required />
<img src="{dede:global.cfg_cmspath/}/include/vdimgck.php" onclick="this.src='{dede:global.cfg_cmspath/}/include/vdimgck.php?'+Math.random();" title="看不清?点击更换" />
</div>
</div>
<div class="form-group">
<label>
<input type="checkbox" name="agreement" value="1" required /> 我已阅读并同意<a href="#" target="_blank">《用户协议》</a>
</label>
</div>
<button type="submit" class="register-btn">立即注册</button>
<div class="login-link">
已有账号?<a href="{dede:global.cfg_memberurl/}/login.php">立即登录</a>
</div>
</form>
<!-- 注册表单结束 -->
</div>
</div>
<script src="/templets/mytheme/js/register.js"></script>
</body>
</html>
代码解释:
name="dopost" value="regnew": 告诉织梦这是注册请求。name="step" value="1": 注册步骤,织梦注册分多步,这里是第一步。{dede:loop table='dede_membermodel'...}: 这是一个强大的标签,它会从数据库中读取你自定义的会员模型字段,并自动生成表单,如果你在后台增加了“性别”、“生日”等字段,它们会自动出现在这里。name="agreement": 用户协议复选框,通常设置为必选,以确保用户同意条款。
CSS 样式美化示例 (/templets/mytheme/css/style.css)
为了让你的登录注册页面看起来更专业,你需要添加CSS样式。
/* 全局样式 */
body {
font-family: 'Microsoft YaHei', Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
/* 登录/注册容器 */
.login-container, .register-container {
width: 360px;
padding: 20px;
}
/* 登录/注册盒子 */
.login-box, .register-box {
background: #fff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
text-align: center;
}
h2 {
color: #333;
margin-bottom: 25px;
}
/* 表单组 */
.form-group {
margin-bottom: 20px;
text-align: left;
}
.form-group label {
display: block;
margin-bottom: 8px;
color: #555;
font-size: 14px;
}
.form-group input[type="text"],
.form-group input[type="password"] {
width: 100%;
padding: 12px;
border: 1px solid #ddd;
border-radius: 4px;
box-sizing: border-box; /* 确保padding不会影响宽度 */
font-size: 14px;
}
.form-group input[type="text"]:focus,
.form-group input[type="password"]:focus {
border-color: #007bff;
outline: none;
}
/* 验证码组 */
.code-group {
display: flex;
align-items: center;
}
.code-group input {
flex: 1;
}
.code-group img {
height: 42px;
margin-left: 10px;
cursor: pointer;
border: 1px solid #ddd;
border-radius: 4px;
}
/* 按钮样式 */
.login-btn, .register-btn {
width: 100%;
padding: 12px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s;
}
.login-btn:hover, .register-btn:hover {
background-color: #0056b3;
}
/* 提示和链接 */
.tip {
font-size: 12px;
color: #888;
display: block;
margin-top: 5px;
}
.forget-pwd, .register-link, .login-link {
font-size: 14px;
color: #007bff;
text-decoration: none;
}
.forget-pwd {
float: right;
}
.register-link, .login-link {
margin-top: 20px;
}
/* 复选框样式 */
.form-group input[type="checkbox"] {
margin-right: 5px;
vertical-align: middle;
}
常见问题与解决方案 (FAQ)
问题:修改模板后,页面没有变化,还是显示默认样式。

(图片来源网络,侵删)
- 原因:模板缓存问题,或者你没有正确设置模板风格。
- 解决方案:
- 清理浏览器缓存。
- 登录织梦后台,进入【系统】->【性能优化】->【清除缓存】,清除所有缓存。
- 确认你修改的是
templets/mytheme目录下的文件,而不是templets/default。 - 确认后台【系统基本参数】->【核心设置】中的“默认模板引擎风格”已设置为
mytheme。
问题:验证码不显示或点击刷新无效。
- 原因:
- GD库未开启或配置错误。
include/vdimgck.php文件丢失或权限错误。- 路径问题,
{dede:global.cfg_cmspath/}变量获取的路径不正确。
- 解决方案:
- 检查服务器是否安装并开启了GD库,可以通过
phpinfo()函数查看。 - 确认
/include/vdimgck.php文件存在且有可读权限。 - 检查后台【系统基本参数】->【站点设置】中的“站点根网址”是否正确。
- 检查服务器是否安装并开启了GD库,可以通过
问题:如何添加或修改注册的字段(如手机号、生日)?
- 解决方案:
- 登录织梦后台,进入【会员】->【会员模型管理】。
- 你可以在这里看到系统默认的字段,点击“管理字段”可以添加新的字段(如手机号、性别、生日等)。
- 添加字段时,可以设置字段名、字段类型、是否必填等。
- 添加后,
reg_new.htm模板中的{dede:loop}标签会自动为你生成对应的表单元素,你只需要用CSS美化一下即可。
希望这份详细的指南能帮助你顺利完成织梦会员登录注册模板的修改!
