客户需求一:注册会员要设置相应的汇款信息
为了避免在注册时必填项过多,或者提示项过多,所以,将这些信息只在会员的管理中心进行处理,即,会员在登录以后,进入“会员中心”,然后点击“个人资料更改”即可进行这些项目的修改。
目前,根据客户需求,需求添加的项目有:开户行名称,银行帐号,开户人姓名,当然,如果在后续的使用过程中,因为业务的需要,可以再添加其它项目,如:汇款地址,邮编,收款人姓名等等。
因为对程序需要修改,而这些需要对客户透明(有可能客户需要自己进行修改,所以,我的目标是尽可能少的修改原程序的代码,这样也便于客户对主程序进行升级更新)所以,在研究了原程序以后,需要修改两个文件即可完成这些项目的添加:模板文件:YourDEDECMS/member/templates/edit_info.htm,处理代码:YourDEDECMS/member/index_do.php。
首先,打开模板文件(edit_info.htm),在合适的位置添加如下代码:
上面所述的代码是对银行汇款的方式进行的描述。下面,就要对代码部分进行相应的处理了。打开index_do.php文件,搜索:else if($dopost==”editUser”),找到后,在下面寻找:
$query = "
update #@__member set
找到以后,在下面添加:
bank = ‘$bank’,
bankname = ‘$bankname’,
bankcode = ‘$bankcode’,
这里的信息需要与模板页面的填写项目对应(当然,如果需要添加其它信息的话,也可以按照这个模式进行添加)。
以上,完成了程序方面的修改,为了将我们的修改信息保存起来,就要进行数据库的修改了。这里,我们采用phpMyAdmin来进行此操作,在phpMyAdmin中打开DEDECMS的数据库,寻找表dede_member。(这里,我假设客户在安装时DEDECMS的数据库中表的前缀是dede,如果客户已经改动的话,请依客户改动为准)。
然后,给该表添加三个字段,名称分别为:bank,bankname,bankcode,它们的类型都为varchar,长度可以适当的取长一些。
到这里,我们需要添加的会员信息已经处理完成,现在我们先测试一下,看看是否成功!
客户需求二:会员可以发表文章,后台审核发布以后,自动给会员帐号里添加适当的金币。
因为原系统中已经有金币一项的设置,而且,在后台中针对该属性除了管理员手工进行修改以外,会员还可以通过充值的方式进行修改,故我们只要跟踪该属性即可。
这里,因为客户未对每发布一篇文章增加多少金币提出具体数值,所以,得在后台中对此参数进行设置:。这里,我们可以通过以下步骤来完成此项工作:进入DEDECMS后台后依次点击:系统设置à添加新变量。这里,变量名称为cfg_article_addmoney,变量值可以根据客户的实际需求输入,这里暂取1,变量类型为“字串/数字”,参数说明为“每发布一篇文章增加金币数”,所属组为“核心设置”,设置完成以后,点击“保存变量”。等等系统页面刷新完毕,我们就可以看到,我们刚才设置的变量已经出现在系统设置中了。
下来,就要截取原系统中的“审核”的动作了。原系统是在文件YourDEDECMS/dede/archives_do.php中对文章进行一系列处理地,我们要截取的审核的操作也在这里,搜索:else if($dopost==”checkArchives”),在其下的一对大括号中就是相应的处理步骤。以下,我来描述一下修改的步骤。
在else if($dopost==”checkArchives”)的下一行起开始搜索:$qstrs = explode(”`”,$qstr);,找到以后,在其下一行开始添加如下代码:
//Added begin by Hoping
//以下修改是为了实现给作者增加金币
$qstr=implode(",",$qstrs);
$dsql = new DedeSql(false); //以下代码用来获取本次审核时的作者列表,有重复
$sql = "Select ID,memberID from #@__archives where id in (".$qstr.") and arcrank<’0′";
$dsql->Query("rank",$sql);
if(!$dsql->result[rank]) exit;
$array = array();
while ($row = mysql_fetch_assoc( $dsql->result[rank] )) {
$array[$row[ID]] = $row;
}
mysql_free_result( $dsql->result[rank] );
//Added end by hoping
在代码$dsql->ExecuteNoneQuery();的下一行添加如下代码:
//Added begin by hoping
//根据文章来对作者添加后台已经设置的金币数
$dsql->SetQuery("Update #@__member set money=money+".$cfg_article_addmoney." where ID=’".$array[$aid][memberID]."’");
$dsql->ExecuteNoneQuery();
//Added end by hoping
至此,审核文章自动添加金币已经完成。
评论前必须登录!
注册