企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 获取评论数据(如果当前商品点评星星已获取过,则不需要再获取) ``` {php $comment = show_comment($jz['tid'],$jz['id']) /} ``` ## 判断是否有评论 ``` {if($comment['data'])} #有评论 {foreach $comment['data'] as $v} #判断楼层,输出一级楼层 #评论楼层,level=0代表第一层,且回复的主题 {if($v['level']==0)} <!--点评星星输出--> #判断是否有提交评分星星,评论可以不提交点评星星,提交点评星星必须要评论 {if($v['likes']!=0)} #这里输出点评星星 <div class="rating"> {for $i=1;$i<=$v['likes'];$i++} #满星 <img src="{$tpl}assets/img/star.svg"> {/for} {if(round($v['likes'])!=$v['likes'])} #半星 <img src="{$tpl}assets/img/star-half-empty.svg"> {/if} {if($v['likes']<5)} {for $i=1;$i<=(5-$v['likes']);$i++} #空星 <img src="{$tpl}assets/img/star-empty.svg"> {/for} {/if} {/if} <!--输出第一层评论内容--> #由于内容篇幅过于多,这里暂不粘贴,可以参考官方DEMO 评论用户名:{$v['userinfo']['username']} 评论时间:{fun date('Y-m-d H:i:s',$v['addtime'])} 评论内容:{$v['body']} #判断是否有二层评论,也就是楼中楼,楼中楼就放到第二列输出,当然,也有第三层,这个看前端怎么写代码了,暂时不提供三层以及更高层楼中楼,比较麻烦 {if($v['haschild'])} #跟输出一层楼同样的输出方式,问题在于判断第几层楼,以及如何做处理 {foreach $comment['data'] as $vv} #判断获取本层回复楼中楼 {if($vv['zid']==$v['id'])} 评论用户名:{$vv['userinfo']['username']} 评论时间:{fun date('Y-m-d H:i:s',$vv['addtime'])} 评论内容:{$vv['body']} {/if} {/foreach} {/if} {/if}#闭合最上面level=0的if标签 {else} #无评论 {/if} ``` ## 评论表单 > 特别提醒:评论内容最前面带 ` [@用户名]` 这个内容在提交到后台将会替换为 `@用户名` 并且提醒对应的用户,参考官方demo ``` <form action="{fun U('Comment/index')}" onsubmit="return checkForm()" method="POST"> <input name="go" value="1" placeholder="表示" id="go" type="hidden" /> <input name="star" value="0" placeholder="评论星星数" id="star" type="hidden" /> <input name="tid" value="{$type['id']}" type="hidden" /> <input name="aid" value="{$jz['id']}" placeholder="文章ID" type="hidden" /> <input name="zid" value="0" id="zid" placeholder="评论层ID" type="hidden" /> <input name="pid" value="0" id="pid" placeholder="回复层ID" type="hidden" /> <div class="form-group" > <textarea class="form-control" id="comments" name="body" rows="5" placeholder="文明的评论是交流的开始~"></textarea> </div> <div class="form-group" style="text-align:right"><button class="btn btn-primary btn-inline" type="submit">提交</button></div> </form> ```