本文介绍了phpcmsV9想要实现普通会员也能投稿的开发办法,解决思路:打开这个文件form.class.php,搜索select_category,将这段代码改为教程给出的代码就可以了。
phpcms普通会员投稿实现教程:
打开 文件 phpcms/libs/classes/form.class.php
找到 public static function select_category
找到以下代码:
//检查当前会员组,在该栏目处是否允许投稿?
if($is_push=='1'and$r['child']=='0'){
$sql= array('catid'=>$r['catid'],'roleid'=>$user_groupid,'action'=>'add');
$array= $priv->get_one($sql);
if(!$array){
continue;
}
}
修改为
//检查当前会员组,在该栏目处是否允许投稿?
if($is_push=='1'and$r['child']=='0'){
$sql= array('catid'=>$r['catid'],'is_admin'=>'0','roleid'=>$user_groupid,'action'=>'add');
$array= $priv->get_one($sql);
if(!$array){
continue;
}
}
修改完成后需要更新缓存,退出会员重新登录
补充说明:
1、在后台添加了新的管理员,并对管理员设置了对应的管理栏目权限。
2、PHPCMS本身只是读取了”category_priv“这个表的所有内容,并没有对是否是管理员进行判断。
3、如果没有添加新的管理员,并没有为新管理员设置管理栏目权限,不会出现以上问题。
4、在$sql语句中加入”is_admin'=>'0'“是为了,增加一条SQL判断,区分是否为管理员还是用户组。