预定团购完善一个细节功能
过期或者是满员的人,就不显示购买菜单
比如
https://x1.php168.com/booking/content/show/id/10.html
新建一个文件
\application\booking\index\Api.php
里边放入如下代码
<?php namespace app\booking\index; use app\common\controller\IndexBase; use app\booking\model\Content; // class Api extends IndexBase { public function check_buy($id=0){ $info = Content::getInfoByid($id); if ($info['end_time']&&$info['end_time']<time()){ return $this->err_js('已经结束了'); }elseif ($info['max_user']&&$info['fewnum']>=$info['max_user']){ return $this->err_js('已经满人了'); } if (empty($this->user)){ return $this->err_js('你还没有登录'); } } }
模板里加入如下代码
<script type="text/javascript"> $.get("{:urls('api/check_buy',['id'=>$id])}",function(res){ if(res.code==1){ $(".butters button").removeAttr("onclick"); $(".butters button").css("background","#dddddd"); $(".butters button").html(res.msg); } }); </script>
这样用异步处理,为的是不影响页面打开速度。X1很多地方,都尽可能用异步处理,这样可以优化用户体验。
上面用FUN函数可以更方便的实现,但是会同步执行,会有一点点影响效率。也不太大。关键是这个教程是告诉大家怎么异步处理,效率更高。
上面的教程不适合初学者,更适合有一点点开发能力的爱好者。