应用插件可以将自己的用户组权限页面展示到系统框架自带的权限设置界面中,如下手册区域:
https://www.xunruicms.com/doc/801.html
配置文件:
/dayrui/App/插件目录/Config/Group.php
文件内容格式:
<div class="form-group"> <label class="col-md-2 control-label">测试插件选项值</label> <div class="col-md-10"> <label> <input type="text" name="data[{$i}][{$dir}][my_test_value]" value="{intval($data['auth'][$i][$dir]['my_test_value'])}" class="form-control"> </label> </div> </div> <div class="form-group"> <label class="col-md-2 control-label">测试插件勾选值</label> <div class="col-md-10"> <input type="checkbox" name="data[{$i}][{$dir}][my_test_use]" value="1" {if $data['auth'][$i][$dir]['my_test_use']}checked{/if} data-on-text="{dr_lang('是')}" data-off-text="{dr_lang('否')}" data-on-color="success" data-off-color="danger" class="make-switch" data-size="small"> </div> </div>
其中,my_test_value是文本值(只能存储数字)例子,my_test_use是单选值例子,其他值不能变
配置定义完成后,在后台用户组权限里面可以看到此插件的自定义区域了
程序开发中如何读取这些选项值呢?
1、读取上例子中的my_test_value值
$this->_app_member_auth_value($this->member_authid, 'App目录', 'my_test_value'); // 控制器中的写法 \Phpcmf\Service::C()->_app_member_auth_value(\Phpcmf\Service::C()->member_authid, 'App目录', 'my_test_value'); // 全局中的写法
这里读取的是累计值,当用户拥有多个用户组时,这里读取的值是他多个身份的累计值,例如:
用户A同时拥有 【用户组1和用户组2】,而用户组1和用户组2分别设置了:10和20,那么获取的值应该是30。
如果要读取此用户在【用户组1和用户组2】的最大值,也就是只获取值是20,可以改为:
$this->_app_member_auth_maxvalue($this->member_authid, 'App目录', 'my_test_value'); // 控制器中的写法
2、判断例子中的my_test_use是否选中
// 控制器中的写法 if ($this->_app_member_auth_value($this->member_authid, 'App目录', 'my_test_use')) { 选中了 } // 全局中的写法 if (\Phpcmf\Service::C()->_app_member_auth_value(\Phpcmf\Service::C()->member_authid, 'App目录', 'my_test_use')) { 选中了 }
迅睿CMS系统:https://www.xunruicms.com/
本文档原文地址:https://www.xunruicms.com/doc/934.html
来源:oschina
链接:https://my.oschina.net/finecms/blog/3217273