您的位置:首页 > 其它

20150406--RBAC+添加字段栏目

2016-05-08 22:21 183 查看
目录 一、模型管理 1 二、栏目管理 5 三、内容管理 7 四、RBAC的普通管理员登陆,。 8

一、模型管理

1、模型列表 (1)在模型的控制器里面添加一个lst方法,用于模型数据的显示,并拷贝对应的静态页面



2、字段管理: (1)建立一张字段模型表 #该表用于存储模型字段的信息。 create table it_modelfield( id smallint primary key auto_increment, model_id tinyint not null comment '模型 的id', field_ename varchar(32) not null comment '字段的英文名称', field_cname varchar(32) not null comment '字段的中文名称', field_type varchar(32) not null comment '字段的类型', field_value varchar(32) not null comment '字段的默认值' )engine myisam charset utf8; (2)新建一个modelfield的控制器,并添加一个lst的方法,并拷贝对应的静态页面。

在modelfield控制器里面的lst方法对应的静态页面中添加一个添加字段的链接。

(3)在modelfield控制器里面添加一个add方法,用于添加该模型的字段信息。 拷贝对应的静态页面,并添加字段信息的表单。

不要忘了添加模型的隐藏域,表示添加的字段信息是哪个模型的。



(4)新建一个modelfield的模型,并完成数据验证

(5)开始添加字段信息入库

(6)使用钩子函数完成字段信息添加到附加表里面完成创建



2、模型 的修改 如果模型对应的附加表名修改了,则也要修改表名 3、模型的删除 如果要模型删除,要删除对应的附加表 4、字段管理(修改) 在字段修改时,要完成it_modelfield表里面信息的修改,还要完成附加表里面字段的修改。

二、栏目管理

和添加权限是一样的。使用无限极分类,在添加栏目的时候要指定当前栏目属于哪个模型。 完成栏目表 create table it_category( id smallint primary key auto_increment, cat_name varchar(32) not null comment '栏目的名称', parent_id smallint not null default 0 comment ' 父级栏目的id', model_id tinyint not null comment '模型 的id' )engine myisam charset utf8; 1、添加栏目 (1)新建一个栏目的控制器并添加add方法,并拷贝对应的静态页面。 取出栏目数据和模型数据, 在栏目的模型里面定义了getTree方法用于无限极取出数据



遍历栏目数据

遍历模型数据

(2)在模型里面添加数据验证,并完成栏目的添加

2、栏目的列表 3、栏目删除 在栏目删除的时候,要判断有没有子栏目,如果有则不能删除,或和子栏目一块删除 3、栏目的修改 在栏目修改时,不能把自己的子孙栏目 当成父级栏目。

三、内容管理

根据模型附加表里面的字段生成表单, 添加具体的内容, 思路:根据model_id从it_modelfield表里面取出具体的内容, 字段的中文名称,根据类型生成具体的表单,根据默认值,具体生成单选按钮和复选框和下拉框。 1、新建一个content的控制器,并添加add方法,并拷贝对应的静态页面。

2、在静态页面中把取出的数据给遍历并生成对应的表单



四、RBAC的普通管理员登陆,。

1、根据管理员的权限生成左侧的权限按钮 (1)在管理员的模型中定义一个函数,getMenus根据管理员的权限获取按钮







在index控制器里面left函数中,取出权限按钮,并遍历到静态页面。



2、在管理员登录后,如果要某个操作,则要验证当前登录的管理员是否有权限。 //验证的思路:在执行某个操作时,取出操作的所在控制器的名称,和操作的方法名称。 根据登录的admin_id从it_privilege表里面取出controllername actionname两个字段进行匹配



外连和内连的区别. class id class_name 1 a 2 b 3 c student id stu_name class_id 1 s1 1 2 s2 2 3 s3 3 4 s4 4 5 s5 1 a.class_id=b.id 列出所有的学生以及学生所在的班级的名称。 SELECT a.*,b.class_name FROM student a LEFT JOIN class b ON a.class_id=b.id(外连) id stu_name class_id class 1 s1 1 a 2 s2 2 b 3 s3 3 c 4 s4 4 null 5 s5 1 a SELECT a.*,b.class_name FROM student a,class b WHERE a.class_id=b.id(内连) id stu_name class_id class 1 s1 1 a 2 s2 2 b 3 s3 3 c 5 s5 1 a

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: