其实以前一直不会写,包括到现在,也没有想过要在控制器里面写HTML,然后再输出到view里面。今天先记下来,下次如果偶然需要用到的时候,就可以直接写了。
/**异步加载酒评***/
public function getComment(){
$this->isSignin();
$limit = is_numeric($_POST['limit']) ? $_POST['limit'] : 3;
$len = is_numeric($_POST['len']) ? $_POST['len'] : 3;
$pid = is_numeric($_GET['pid']) ? $_GET['pid'] : '0';
$userInfo = session('wcInfo');
$where = 'vipId='.$userInfo['id'];
0 < $id && $where .= ' AND pid='.$pid;
$count = M('xxx')->where($where)->count();
$count <= $limit && exit('{"State":-1,"MSG":"已经是最后","list":"","flag":false}'); //开始记录大于总记
$list = M('xxx')->field('wjz_pro_comment.*,wjz_product.sale_price,wjz_product.img_middel,wjz_product.pro_name,wjz_product.origin_area')->join('LEFT JOIN wjz_product ON wjz_product.id=wjz_pro_comment.pid')->where($where)->order('wjz_pro_comment.createdAt desc')->limit($limit,$len)->select();
!$list && exit('{"State":-2,"MSG":"已经是最后了","html":"","flag":false}');
$html = '';
foreach($list as $k=>$v){
$str = '<div class="comment-list shadow2 clearfix">
<h2>'.$v['pro_name'].'</h2>
<div class="img"><img src="'.$v['img_middel'].'"/></div>
<ul>
<li class="price">¥ '.$v['sale_price'].'</li>
<li class="buy-time">'.time_format($v['createdAt']).' 评价</li>
<li class="other">'.$v['origin_area'].'</li>
<li class="other"><span>香</span>'.$v['sweet'].'</li>
<li class="other"><span>味</span>'.$v['taste'].'</li>
<li class="info" style=" white-space:nowrap;">评论: '.$v['comment'].'</li><i class="arrow close"></i>
</ul>
</div>';
$str = json_encode($str);
'' !== $html && $html .= ',';
$html .= '{"id":"'.$v['id'].'","img":"'.$v['img_middel'].'","html":'.$str.'}';
}
$limit += $len;
$count <= $limit && exit('{"State":'.$limit.',"MSG":"","list":['.$html.'],"flag":false}'); //开始记录大于总记录
exit('{"State":'.$limit.',"MSG":"","list":['.$html.'],"flag":true}');
}