迅睿CMS 用户组权限Group.php

五迷三道 提交于 2020-04-05 15:16:20

应用插件可以将自己的用户组权限页面展示到系统框架自带的权限设置界面中,如下手册区域:

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!