看这一篇之前,请先看上一篇,因为他们有关联性
比如要实现这样的效果
可以通过下面的代码可以实现
{qb:tag name="xxx" type="qun" rows="4"}
<div style="border:1px solid #333;margin:20px;">
<div>圈子名称:<a href="{:urls('qun/content/show','id='.$rs.id)}">{$rs.title}</a></div>
<div class="qun_member" data-id="{$rs.id}">
<!--圈子相关联的用户,不能实现标签嵌套,所以移到了下面,这里的外层参数qun_member这是标志给JS做处理的,data-id这是标志圈子ID-->
</div>
</div>
{/qb:tag}
<div style="display:none;">
<!--圈子关联的用户标签移动这里来了,这也可以说是一个孤岛,要通过JS把数据做处理显示,下面标签内容才是要显示的内容,外层的DIV隐藏起来,是为了不影响页面布局-->
<!-- 这里不能使用type=member,因为type=member是全站会员数据,对于圈子会员数据,只能使用下面固定的class 另一个关键之前,就是 union 参数,他对应关联的字段是aid, 这里没用where语句,是因为圈子用户没做where的条件处理,而换用union -->
{qb:tag name="member_tpl_001" class="app\qun\model\Member@get_label" union="aid" rows="3" js="xx01"}
<li>{$i}、<a href="{:get_url('user','uid='.$rs.uid)}"><img src="{:get_user_icon($rs.uid)}" one rror="this.src='__STATIC__/images/nobody.gif'" width="50">{:get_user_name($rs.uid)}</a></li>
{/qb:tag}
</div>
<script type="text/javascript">
$(".qun_member").each(function(){
var that = $(this); //下面要进行内容赋值使用
var id = $(this).data('id'); //对应圈子的ID
var page = 1; //只显示第一页的内容
var url = "{qb:url name='member_tpl_001'}" + page + "&aid=" + id; //这里就是异步显示更多的用法,另一个关键地方就是圈子用户关联圈子的字段是aid
$.get(url,function(res){
if(res.code==0){
if(res.data!=''){
that.html(res.data);
}
}
});
});
</script>