错误提示:栏目禁止投稿
关于这个报错,最先想到的是栏目的投稿权限没有开启,所以去查看了一下是否栏目正常开启了投稿权限。这个主要是在程序后台查看。
在 后台——内容——管理栏目——修改 你要投稿的栏目——权限设置 下面的会员组 选上 允许投稿!
更新全站缓存应该就OK了!
之前必须设置好用户的投稿权限 用户——管理会员组——相应的用户组名的修改——
最后记得缓存就可以了
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
不过这个方法对于有的客户并没有效果,他的网站主要是升级后才出现的失效,在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');