文章管理 - 如何改造xoops的用户系统,以适应注册时体现不同用户类型? imag1
文章管理 :: Xoops综合 :: Xoops 其他

如何改造xoops的用户系统,以适应注册时体现不同用户类型?


http://xoops.org.cn/modules/newbb/viewtopic.php?topic_id=5311
原提出者:txwh8
原答复者:togen
具体要求如下:
1:注册时,由用户选择是公司用户还是个人用户,
然后根据不同的选择,有不同的协议和不同的注册信息.
2.两种用户有不同的权限
欢迎大家提出hack思路,大家来讨论

1.注册时,表单form中新增单选框。命名为u_type,mysql中user表中新增一字段u_type,数据类型tinyint,长度1位,1(or 0);

修改user register注册时相对应的op操作,在INSERT中添加新增字段名u_type

在user.php文件XoopsUser类中functions XoopsUser构建方法增加$this->initVar('u_type', XOBJ_DTYPE_INT, 0, false);

在user.php文件中新增方法

function u_type()

{

return $this->getVar("u_type");

}



通过以上hack后,正常使用时就可以使用对象$xoopsUser->u_type();来判断注册用户类型(个人或企业),这也是我目前正使用的方法。



2.至于权限,xoops中本身就具有纵向权限管理(群组),想对某一类用户具备不同权限,可以建新群组来解决。



就xoops中的权限控制,与别的开源程序相比,很完美的。整体可分为纵、横权限分配,“纵向控制”->安装默认时就有,分网站管理员、注册用户、游客三组,也可依自己需求另建一群组,然后将用户名拖入组中即可,这是权限控制大的方向。“横向控制”->在模块中分配,比如论坛newBB,设置好每个讨论版块后,即可设置模组(块)的管理人员,这是权限控制中细的一面。各位可以好好细看一下别人模组(块)写法,从中学习一下权限配置。



就我上面的方法,既然已经有了u_type字段(用户类型),完全可以写一函数,判断$u_type = $xoopsUser->u_type(),如果$u_type=="0",即设置gorups为个人用户权限,如果$u_type=="1",设置gorups为企业用户权限。也可以在自己模组(块)中加以判断,然后赋于不同的权限功能。

<< 模块开发图例说明 - 基础篇 XOOPS模块开发快速入门中文翻译(含附件) >>
跟踪网址
  • 文章地址: http://xoops.org.cn/modules/article/view.article.php/c11/71
  • 跟踪地址: http://xoops.org.cn/modules/article/trackback.php/71
API: 工具箱 短消息 Email PDF 书签 打印 | RSS | RDF | ATOM
Copyright© shawnf69 & XOOPS CHINA
网友个人意见,不代表本站立场。对于发言内容,由发表者自负责任。
发表者 树状展开