开发教程
关注DiYunCMS公众号
公众号二维码

DIY字段设计:选择多个用户组

更新时间:2021-04-03 加入收藏

使用DIY字段实现用户组复选效果,可用于一些权限控制之类的需求,比如指定用户组才能访问内容。

字段效果:

image

设计方法:

1、新建 /config/myfield/user-quanxian.php 文件

user-quanxian.php 文件名可随意自定义

文件内容如下:

<?php
/**
 * 示例文件
 * 变量介绍
 * $name 字段英文名称
 * $field 字段信息(数组)
 * $value 当前字段的值
 * \Phpcmf\Service::C() 表示控制器方法
 * \Phpcmf\Service::M() 表示模型方法
 * 表单的name值格式是:data[$name]
 */
$code = ''; // 最终输出的代码
$data = \Phpcmf\Service::C()->member_cache['group'];
$data[0] = [
    'name' => '游客'
];
$value = dr_string2array($value);
foreach ($data as $v => $n) {
    $s = is_array($value) && in_array($v, $value) ? ' checked' : '';
    $kj = '<input type="checkbox" name="data['.$name.'][]" value="'.$v.'" '.$s.' '.$attr.' />';
    $code.= '<label class="mt-checkbox mt-checkbox-outline">'.$kj.''.$n['name'].' <span></span> </label>&nbsp;&nbsp;';
}


2、给模块创建diy字段,选择刚才的文件名称,保存。

image


3、返回后台信息发布界面就可以看到字段选择效果了

image


4、前端示例

4.1、show.html页判断当前用户组是否是所选中的用户组

{if ($member && array_intersect($quanxian, $member.groupid)) || (!$member && in_array(0, $quanxian))}
在选择的用户组内,有权限访问
{else}
不在选择的用户组内,无权限访问
{/if}


本文地址:https://www.xunruicms.com/doc/959.html

不会操作怎么办?

Hello,欢迎来咨询~
点击在线咨询