phpcms v9实现游客投稿的方法

虽然官方开发了游客投稿的功能,在管理后台也有相应的选项,但即使到了v9版本,如果不对源码进行修改,依然无法正常使用游客投稿功能。

以下修改参考自:http://down.chinaz.com/try/201203/1749_1.htm  ,phpcms v9.5.5 测试有效。

第一个文件:
/phpcms/modules/member/classes/foreground.class.php 第10行左右

if(substr(ROUTE_A, 0, 7) != 'public_')) {
   self::check_member();
}

改为

if(substr(ROUTE_A, 0, 7) != 'public_' && (ROUTE_A!= 'publish'|| ROUTE_A!= 'info_publish')) {
   self::check_member();
}

第二个文件:
/phpcms/modules/member/content.php 第22行左右、第336行左右 两个位置

……
//判断会员组是否允许投稿

添加一行改为

……
//判断会员组是否允许投稿
if(!$memberinfo['groupid']) $memberinfo['groupid']=8;

除了以上更改,后台用户组以及栏目中,需要设置游客拥有投稿权限,即可使用游客投稿功能。

更改成功后,配合jquery的post方法,可实现更多自定义的功能,对于需要使用自定义模型的同学来说非常方便和自由。自定义系统模型正是phpcms和帝国cms最强大的地方,而又不需要使用者掌握大量的二次开发知识。