协同工作:hu60wap6模板设计教程

    为了使模板设计者与程序员能够协同工作,在每个页面开始代码编写之前,必须先约定好一些规则。
    约定的主要内容包括URL的格式、表单的命名、Smarty变量的设置等。
    下面是一个例子:

* 功能
    注册页面要实现新用户注册的功能,包括输入注册信息、把用户添加到数据库、显示注册结果。
* URL
    user.reg.xhtml?u=来源页地址
    来源页地址由链接到注册页的页面负责提供,使用urlencode编码,并且必须是以cid.pid.[extid.]bid格式开始。
    程序:注册页必须检查来源页是否合法(防止跨站盗取sid)。如果不合法或者为空,则把它设置为首页。合法的来源页地址应该是一个当前目录的相对路径,任何****://开头的地址都是非法的。
    模板:必须提供“返回来源页”功能。
*页面
    一共有三个页面,填写注册信息(reg_form.tpl)、注册成功(reg_success.tpl)、注册失败(reg_failure.tpl)
    reg_form.tpl必须在一个模板内呈现两个表单:
    当$smarty.post.check值为空时,显示第一个表单,让用户填写信息:
  action=当前URL
  method=post
    需要以下项目(第一排是项目的name,最后一排是类型,中间是说明):
  name  用户名/input text
  pass  密码/input text(为了允许输入中文)
  email  电子邮件/input text
  check  提交按钮
    
    当$smarty.post.check有值时,显示以下表单,来让用户二次确认密码:
    action=当前URL
  method=post
    需要以下项目:
  name  input-hidden  设置为$smarty.post.name的值
  pass  input-hidden  设置为$smarty.post.pass的值
  pass2  由用户输入,确认密码  input-text
  email  input-hidden    设置为$smarty.post.email的值
  go  提交按钮
    
  * reg_success.tpl
    该模板需要显示用户成功注册的信息,并且显示返回来源页的地址。
    设置的变量:
$u  来源页
$USER  用户信息数组
$name  用户名
$sid  用户身份id
    说明:
    该页面必须显示两个返回来源页地址,一个是{$u},另一个是{$smarty.server.PHP_SELF}/{$sid}/{$u}(供不支持Cookies的用户访问)
    
  * reg_failure.tpl
    该页显示注册失败的原因。
    设置的变量:
  $errmsg  错误信息
  $u  来源页地址
  $errnum  错误号
  $name  注册时填的用户名
    
    就这样了。假设用户注册的函数已经做好了,程序员和模板设计者是否都知道该怎么做了?
    这些约定似乎相当复杂。等大家更熟悉了,或许会有更简单的解决方法。
    补充一下:
  程序:当$_POST['go']不存在时调用reg_form.tpl;存在时,试图注册并根据结果调用不同的模板。
回复列表(5|隐藏机器人聊天)
添加新回复
回复需要登录