Datalife Engine区别于wordpress博客,它拥有更强大的用户交流系统,这里就讲一讲用户系统中的控制登录框和用户控制面板的模板文件login.tpl。

一、DLE模板系统中login.tpl的含义和工作原理

我们浏览DLE站点时,通常会在比较明显的位置看到一个登录框提示输入用户名密码登录或者可以找回密码,注册等等,等我们登录以后,同一个位置又变成了 用户控制面板,允许用户添加文章,查看账户信息、站内消息等,这两部分出现在同一位置而在登录前后出现不同,就是通过我们之前在《Datalife Engine模板原理及全局标签/基础标签解析》提到的用户组范围标签[group= id ]text[/group]来控制的,即:我们使用group用户组范围标签来实现 同一位置,不同的用户组看到不同的内容输出(登录/控制面板)

我们前面《举例说明Datalife Engine的范围标签的使用方法》也介绍过DLE用户组的相关情况,默认用户组有5个,id=1,2,3,4均为登录状态,id=5时为未登录状态(如果你自行建立了新用户组,请根据新组的性质操作)。对用户组了解后,我们就可以开始布局我们的login.tpl模板了,如下:

  1. [group=5] 此组为未登录状态,在这个标签内编写登录框的代码及必要的注册按钮、找回密码按钮等 [/group]
  2. [not-group=5]除id=5以外的组均为登录状态,这里填写用户控制面板的代码,如添加文章,收藏夹等[/not-group]

二、DLE模板系统中的login.tpl可以使用的标签及对应释义
对login.tpl的工作原理了解后,下面开始学习login.tpl中可用标签,分别如下:

   {registration-link} 数据值标签 局部标签

这个标签很容易理解,就是站点的注册链接,它输出的只有一个链接值,如:http://zctou.com/index.php?do=register 所以在模板中布置时,我们要使用 a href 等辅助代码。

{lostpassword-link} 数据值标签 局部标签

同上一个标签类似,这个标签就是输出站点的找回密码链接,输出也仅仅是链接值。
  {logout-link} 数据值标签 局部标签
这个标签输出站点的退出登录链接,输出的仅仅是链接值,注意使用时要借用 a href 等辅助代码。

{admin-link} 数据值标签 局部标签
这个标签输出站点后台地址,通常为 http://zctou.com/admin.php 不同为了安全起见,我们可以在服务器及后台设置中将此文件重命名,来保护站点(具体方法请参见《Datalife Engine 站点安全之保护admin.php》一文,这里不再赘述)。有些同学习惯在模板直接使用http://zctou.com/admin.php 这种形式,如果我们的用户更改了后台管理连接,那么这个模板的通用性就降低了,所以建议大家使用标签来输出后台管理的连接。

[admin-link] text [/admin-link] 范围标签 局部标签
上面一个标签可以直接让用户查看到后台管理的链接,这对站点来说并不算安全,我们希望只有拥有对应权限的用户才能查看上面的后台管理连接(对应权限可以 通过:后台》用户组》选择用户组编辑》权限部分 进行管理)。本标签即用来满足这种想法,包括在本标签之内的text只有用户拥有查看后台的权限时才有会显示,否则不输出内容。注意:[admin- link] {admin-link}  [/admin-link] 这种嵌套结构是可以使用的。

{pm-link} 数据值标签 局部标签
这个标签输出站点短消息控制面板的连接,输出的是一个链接值。
{new-pm} 数据值标签 局部标签
这个标签输出站点最新短消息的数量,注意输出的是一个数字。
{all-pm} 数据值标签 局部标签
这个标签输出站点全部短消息的数量,注意输出的是一个数字。

{favorites-link} 数据值标签 局部标签
这个标签输出用户收藏的文章列表页链接,输出的是一个链接值。
{favorite-count} 数据值标签 局部标签
这个标签输出用户收藏的文章的数量,注意输出的是一个数字。
{foto} 数据值标签 局部标签
这个标签输出用户头像图片的链接,输出的是一个链接值,需要 img 等辅助代码。
{group-icon} 数据值标签 局部标签
这个标签输出用户所在用户组的用户组标志图片链接,输出的是一个链接值。(在:后台》用户组》选择用户组并编辑》用户组标志图片 中可以定义用户组标志图片的链接。)
{login} 数据值标签 局部标签
这个标签输出用户登录后的用户名,输出的是一个字符串。
{profile-link} 数据值标签 局部标签
这个标签输出用户管理账户信息的页面的链接,输出的是一个链接值。

{stats-link} 数据值标签 局部标签
这个标签输出站点统计信息页的链接,输出的是一个链接值。
{addnews-link} 数据值标签 局部标签
这个标签输出站点中用户添加文章的页面链接,输出的是一个链接值。
{newposts-link} 数据值标签 局部标签
这个标签输出站点中用户未读的最新文章列表页链接,输出的是一个链接值。
{login-method} 功能标签 局部标签
自v9.5版以来,Datalife Engine除允许通过用户名登录以外,又增加了注册邮箱登陆,增加了用户账户的安全性。在:后台》系统设定》用户组 中可以设定用户通过何种方式登录站点。为了简化模板制作的代码,DLE提供了本便签,它会自动根据系统后台设定来输出提示用户登录的方式:如果设定为用户 名登录,它会输出“User”,如果设定为邮箱登录,他会输出"E-mail",注意只根据后台设定输出引号里面的内容。

三、使用以上标签的几点注意

在第一部分我们已经谈到,本模板文件要根据用户组分成登录和未登录两个部分,以上提供的标签也是涵盖以上两个部分的。所以我们在制作模板时,要根据制作的模板选用上面的标签,比如:在未登录状态,我们要加上忘记密码{lostpassword-link} 等链接,但是{favorites-link} 这种专门服务于登录状态的链接就不能使用了。反之亦然。
另外在制作未登录状态时,我们要通过<form>来传递用户提供的数据值及用户是否要保持cookie的复选框,此时使用到两个文本框和一个复选框代码,大家注意一下他们的name和id
form方法:<form method="post" action="">text</form>
用户名文本框:<input type="text" name="login_name" id="login_name" />
密码文本框: <input type="password" name="login_password" id="login_password" />
不保存cookie复选框: <input type="checkbox" name="login_not_save" id="login_not_save"  value="1"/>