phpcms v9发不了文章怎么办?
phpcms v9前台会员中心在线投稿显示“栏目禁止投稿”,在线投稿不能发布文章
错误提示:栏目禁止投稿
关于这个报错,最先想到的是栏目的投稿权限没有开启,所以去查看了一下是否栏目正常开启了投稿权限。这个主要是在程序后台查看。
立即学习“PHP免费学习笔记(深入)”;
在 后台——内容——管理栏目——修改 你要投稿的栏目——权限设置 下面的会员组 选上 允许投稿!
更新全站缓存应该就OK了!
之前必须设置好用户的投稿权限 用户——管理会员组——相应的用户组名的修改——
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
不过这个方法对于有的客户并没有效果,他的网站主要是升级后才出现的失效,在PHPCMS官网论坛上也有一些客户遇到这样的问题。
原来,这个问题在官方的答复是一个程序bug,临时解决方法如下:
把原来的phpcms/modules/member/content.php第111行至118
1
2
3
4
5
6
7
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);
改为:
1
2
3
4
5
6
7
8
$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);
PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!
以上就是phpcms v9发不了文章怎么办的详细内容,更多请关注php中文网其它相关文章!