易优cms循环列表调取阅读权限的方法

我们在制作易优cms模板时,尤其是资源下载类的模板,或多或少都会用到这个需求,比如在列表页中调取该篇内容的用户阅读权限,亦或是在首页循环列表数据中调取当前内容的用户阅读权限,具体效果如下图所示。

我们在制作易优cms模板时,尤其是资源下载类的模板,或多或少都会用到这个需求,比如在列表页中调取该篇内容的用户阅读权限,亦或是在首页循环列表数据中调取当前内容的用户阅读权限,具体效果如下图所示。

易优cms循环列表调取阅读权限的方法

想要实现这个需求,我们只需要自定义一个函数就可以了,具体操作如下。

1、打开extend/function.php

2、将下方代码复制粘贴至function.php文件中

if (!function_exists('diy_getArcrank'))
{
    /*
     * @param  string $arcrank 阅读权限
     * @return [type]          级别名称
     */
    function diy_getArcrank($arcrank = '')
    {
        static $users_level_list = [];
        if (empty($users_level_list)) {
            $users_level_list = \think\Db::name('users_level')->field('level_name,level_value')
                ->where('lang', get_current_lang())
                ->order('is_system desc, level_value asc')
                ->getAllWithIndex('level_value');
        }
        if (!empty($users_level_list[$arcrank])) {
            return $users_level_list[$arcrank]['level_name'];
        } else if (empty($arcrank)) {
            $firstUserLevel = current($users_level_list);
            return $firstUserLevel['level_name'];
        } else {
            return '';
        }
    }
}

3、在列表循环中调取{$field.arcrank|diy_getArcrank=###}