给商城里的商品分销链接加上一个有效期
第一步:
我们需要添加一个有效期的字段:
第二步:
打开application\shop\index\Content.php
我们找到检测方法里的函数 我们加一句:
$this->isLast($info['usetime'],$info['id']); 这个是我们自定义的一个方法,名称可以自定义
/** * 重写父方法,加东西 * {@inheritDoc} * @see \app\common\controller\index\C::view_check() */ protected function view_check(&$info=[]){ $this->isLast($info['usetime'],$info['id']);//这里是添加的方法调用 $this->set_fx($info); parent::view_check($info); }
第三步:
我们需要在下面自己定义一个方法来供上面调用,当然也可以把下面的代码直接放在上面的方法中,但是不规范,比较乱。
/** * 判断分销是否过期 * @param int $endtime */ protected function isLast($endtime = 0,$id=0 ){ if($endtime !=0 && time() > $endtime && input('p_uid')!=''){ echo "超过了分销时间"; //这里可以输出一个模板,自己做喜欢的样式 $this->error('返回该商品页',urls('content/show',['id'=>$id]),'',3); } }
这个方法需要两个参数,一个就是我们之前定义的字段,叫过期时间,另一个是商品id,便于返回该商品的url
全部定义完后,覆盖上传,即可生效
提示内容,可以做一个好看的模板返回,自行斟酌。
这个方法的弊端,全局效果。因为是修改的商品分销时间,所以这个商品的分销链接是死的,一旦过期,那么所有人的分销都是过期。
达不到特定人特定待遇。
解决思路:可以将分销链接实例化,用户点击分销时,生成特定的分销属性,每个分销链接独立,需要另外建立数据表。实现链接多样性,每个人生成的分销链接属性不同,待遇不同。
这样改写的规模可能不小,需要按需分析,我这就不做处理了,需要的朋友自行动脑动手!!!
来源: 神盾工作室 转载请注明出处!
查看更多评论