phpcms v9前台会员中心在线投稿显示“栏目禁止投稿”,在线投稿不能发布文章

phpcms v9前台会员中心在线投稿显示“栏目禁止投稿”,在线投稿不能发布文章_第1张图片


错误提示:栏目禁止投稿

关于这个报错,最先想到的是栏目的投稿权限没有开启,所以去查看了一下是否栏目正常开启了投稿权限。这个主要是在程序后台查看。

后台——内容——管理栏目——修改 你要投稿的栏目——权限设置 下面的会员组 选上 允许投稿!

更新全站缓存应该就OK了!

phpcms v9前台会员中心在线投稿显示“栏目禁止投稿”,在线投稿不能发布文章_第2张图片

之前必须设置好用户的投稿权限  用户——管理会员组——相应的用户组名的修改——

phpcms v9前台会员中心在线投稿显示“栏目禁止投稿”,在线投稿不能发布文章_第3张图片

最后记得缓存就可以了

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

不过这个方法对于有的客户并没有效果,他的网站主要是升级后才出现的失效,在PHPCMS官网论坛上也有一些客户遇到这样的问题。

原来,这个问题在官方的答复是一个程序bug,临时解决方法如下:

把原来的phpcms/modules/member/content.php第111行至118

foreach ($CATEGORYS as $catid=>$cat) {
    if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0) break;
   }
   $catid = $_GET['catid'] ? intval($_GET['catid']) : $catid;
   //判断本栏目是否允许投稿
   $priv_db = pc_base::load_model('category_priv_model');
   if (!$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), HTTP_REFERER);

 改为:

$priv_db = pc_base::load_model('category_priv_model'); //加载栏目权限表数据模型
   foreach ($CATEGORYS as $catid=>$cat) {
    if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0 && (!$priv_db->get_one(array('catid'=>$catid, 'is_admin'=>0, 'action'=>'add')) || $priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add')))) break;
   }
   $catid = $_GET['catid'] ? intval($_GET['catid']) : $catid;
   if (!$catid) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');
   //判断本栏目是否允许投稿
   if ($priv_db->get_one(array('catid'=>$catid, 'is_admin'=>0, 'action'=>'add')) && !$priv_db->get_one(array('catid'=>$catid, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');


你可能感兴趣的:(phpcms,phpcms,v9,v9栏目权限,栏目禁止投稿)