phpcms前台不能投稿的解决方法

phpcms前台不能投稿的解决方法

小编给大家分享一下phpcms 前台不能投稿怎么办,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

phpcms 前台不能投稿怎么办?

错误提示:栏目禁止投稿

相关推荐:phpcms教程

phpcms前台不能投稿的解决方法

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

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

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

phpcms前台不能投稿的解决方法

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

phpcms前台不能投稿的解决方法

最后记得缓存就可以了

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

不过这个方法对于有的客户并没有效果,他的网站主要是升级后才出现的失效,在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 前台不能投稿怎么办有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!