使用DIY字段实现用户组复选效果,可用于一些权限控制之类的需求,比如指定用户组才能访问内容。
字段效果:
设计方法:
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> '; }
2、给模块创建diy字段,选择刚才的文件名称,保存。
3、返回后台信息发布界面就可以看到字段选择效果了
4、前端示例
4.1、show.html页判断当前用户组是否是所选中的用户组
{if ($member && array_intersect($quanxian, $member.groupid)) || (!$member && in_array(0, $quanxian))} 在选择的用户组内,有权限访问 {else} 不在选择的用户组内,无权限访问 {/if}
本文地址:https://www.diyuncms.com/doc/959.html