phpcms版本升至V9.1.13(20120129)前台显示“栏目禁止投

phpcms版本升至V9.1.13(20120129)前台显示“栏目禁止投稿”的解决办法[caption id="attachment_13495" align="alignnone" width="150"]错误提示:栏目禁止投稿 错误提示:栏目禁止投稿[/caption]最近高速度 主机小编接待到一个客户的phpcms出现这样的报错:网站升级到phpcms 20120129的版本后,会员发稿出现栏目禁止投稿,报错截图如下图所示: [caption id="attachment_13496" align="alignnone" width="150"]phpcms后台 phpcms后台[/caption][caption id="attachment_13497" align="alignnone" width="150"]phpcms后台 phpcms后台[/caption]客户过来寻求高速度 小编的帮助。高速度 主机小编最终帮他找到了解决方法,下面是小编的问题排查过程。 关于这个报错,高速度 主机小编最先想到的是栏目的投稿权限没有开启,所以高速度 小编去查看了一下是否栏目正常开启了投稿权限。这个主要是在程序后台查看。在 后台——内容——管理栏目——修改 你要投稿的栏目——权限设置 下面的会员组 选上 允许投稿!更新全站缓存应该就OK了!   不过这个方法对于这个客户并没有效果,他的网站主要是升级后才出现的失效,在PHPCMS官网论坛上也有一些客户遇到这样的问题。原来,这个问题在官方的答复是一个程序bug,临时解决方法如下:

把phpcms/modules/member/content.php第114行至121行foreach ($CATEGORYS as $catid=>$cat) {if($cat['siteid']==$siteid && $cat['child']==0 && $cat['type']==0 && $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, 'roleid'=>$memberinfo['groupid'], 'is_admin'=>0, 'action'=>'add'))) showmessage(L('category').L('publish_deny'), APP_PATH.'index.php?m=member');
 上面一块替换成:
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更换服务器后前台后台无法登录的解决方法PHPCMSV9出现上传图片文件浏览器卡死状态解决方法PHPCMS V9.42版本上传图片出现UNDEFINED解决办法

本文地址:https://www.gaosudu.com/phpcms/13494.html