账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
  • 举报
    X
    调用多个圈子同时调用贴子
    27
    0

    下面讲解,在首页,如何调用圈子的同时也调用他们相关的贴子.


    单单调用圈子,就像调用文章一样,很多人都能轻松实现,

    比如下面的代码


    {qb:tag name="xxx" type="qun" rows="4"}

    <div style="border:1px solid #333;margin:20px;">

    <div>圈子名称:{$rs.title}</div>

    </div>

    {/qb:tag}


    如果还要调用圈子的贴子或商品的话,很多人就会想到内循环,在过去,包括现在很多同行,也是这么做的,通过内循环去调用相关的数据,

    但是我们非常反对这样做,因为这样效率非常低,容易把页面卡死,所以齐博标签不支持内循环.

    要实现内部数据相关联,我们要借助JS实现异步加载, 这样就不会影响页面的打开,提高用户体验.

    代码如下


    {qb:tag name="xxx" type="qun" rows="4"}

    <div style="border:1px solid #333;margin:20px;">

    <div>圈子名称:{$rs.title}</div>

    <div class="qun_bbs_title" data-id="{$rs.id}"> 

        <!--圈子的相关联的贴子数据,外层的qun_bbs_title是给JS处理数据做标志的,data-id就是标志圈子的ID,外层的这两个元素必须要存在-->

    </div>

    </div>

    {/qb:tag}


    <div style="display:none;">

      <!--圈子相关联的贴子数据的标签,移动这里来了,这是一个孤岛,他要通过下面的JS处理,才能把数据转移到圈子里边-->

      <!--其中关键点 ext_id=$ext_id 就是贴子数据表中的字段,用来跟圈子做关联的 -->

    {qb:tag name="bbs_tpl_001" type="bbs" rows="3" js="xx01" where="ext_id=$ext_id"}

    <li>{$i}、<a href="{:urls('bbs/content/show','id='.$rs.id)}">{$rs.title}</a></li>

    {/qb:tag}

    </div>


    <!--JS异步获取相关数据-->

    <script type="text/javascript">

    $(".qun_bbs_title").each(function(){

    var that = $(this); //下面进行DIV赋值贴子数据要用

    var id = $(this).data('id'); //对应每个圈子的ID

    var page = 1; //只显示第一页的内容

    var url = "{qb:url name='bbs_tpl_001'}" + page + "&ext_id=" + id; //这里的跟之前讲的标签获取更多数据一样的,重点就ext_id是贴子里的字段要跟圈子相关联

        //下面这一段,都是通用代码,取得贴子数据后,就传给圈子

    $.get(url,function(res){

    if(res.code==0){

    if(res.data!=''){

    that.html(res.data);

    }

    }

    });


    });

    </script>


    上面的代码当中,由于标签不支持嵌套, 所以把 圈子的相关数据,即贴子的标签移了出来.

    以下这部分就是圈子的贴子标签部分,其中标签里边的内容,才是有用的.标签外的就是把他隐藏起来,不要影响页面布局.


    <div style="display:none;">

      <!--圈子的相关数据的标签,移动这里来了-->

    {qb:tag name="bbs_tpl_001" type="bbs" rows="3" js="xx01" where="ext_id=$ext_id"}

    <li>{$i}、<a href="{:urls('bbs/content/show','id='.$rs.id)}">{$rs.title}</a></li>

    {/qb:tag}

    </div>


    另外在圈子部分中关联贴子的DIV代码也有两项关键参数


    <div class="qun_bbs_title" data-id="{$rs.id}"> 


    其中data-id="{$rs.id}" 就是标志圈子的ID值

    而class="qun_bbs_title" 就是标志给下面JS处理数据用的.



    贴子标签中,有一项关键的参数

    where="ext_id=$ext_id" 这个就是非常关键的地方, 之前跟大家讲解过where就是条件筛选用的.这里要用变量参数,

    在这里,贴子里边的ext_id字段是跟圈子相关联的.所以这里就这么写,如果是用户相关联的话,就要换成where="uid=$uid"


    下面这段JS代码,大家必须要熟练,因为到处都会用到


    <script type="text/javascript">

    $(".qun_bbs_title").each(function(){

    var that = $(this);

    var id = $(this).data('id'); //对应圈子的ID

    var page = 1; //只显示第一页的内容

    var url = "{qb:url name='bbs_tpl_001'}" + page + "&ext_id=" + id;

    $.get(url,function(res){

    if(res.code==0){

    if(res.data!=''){

    that.html(res.data);

    }

    }

    });


    });

    </script>


    其中下面这个就是JQ的知识,就是说寻找 qun_bbs_title这样的类的元素,对他进行相关处理, 我们上面标注了圈子里相关的贴子,要进行相关处理


    $(".qun_bbs_title").each(function(){

    //执行相关操作

    });


    而其中这个


    var url = "{qb:url name='bbs_tpl_001'}" + page + "&ext_id=" + id;


    就跟之前跟大家讲解的标签获取分页数据,异步更新类似的. 用得非常多,所以大家必须要熟悉. 这里的标签名bbs_tpl_001跟上面的贴子标签名必须是一致的, 这里的页码,只取第一页, "&ext_id=" + id 这个就是关键之处了,圈子id就是通过JS得到的,然后传递给贴子数据表中的关联字段 ext_id ,这样就可以调取到对应的贴子了


    上面讲解的是调用论坛的贴子, 换一下就能调用圈子的商品 或文章 .


    另外,还可以同时调用的. 需要把JS复制多一份, 标签名与类名不要重复即可.


    使用本站前必读
     1,本站提供的资源来源网络收集或网友发布到本站,仅供学习研究之用,其版权归版权方所有,
     切勿用于商业用途和非法行为否则后果自负。请在24小时之内自行删除!若您需要商业运营或用于其他商业活动,请您购买正版
     授权并合法使用。
     2,本文内容仅代表作者本人观点,并不代表本站赞同其观点和对其真实性、完整性、合法性负责,作者文责自负。
     3,本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
     4,本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间退回积分、金币或者更新。
     5,如您认为本文侵犯了您的合法版权,请点击 版权投诉 进行投诉,我们将在确认本文链接指向的资源存在侵权后,立即删除
     6,多爱丽提醒您:在使用本站前,请您务必仔细阅读并透彻理解使用多爱丽前必读。您可以选择不使用多爱丽,但如果您使用多爱丽,您的使用行为将被视为对使用多爱丽前必读全部内容的认可。点我阅读并透彻理解使用多爱丽前必读
     7,本站提供的资源来源网络收集或网友发布到本站,仅供学习研究之用,有bug正常(比如一个装备不能合或者不能回收、地图不全、缺少插件或角本......),只要能进游戏就算正常。你下载的资源是无售后 无售后 无售后的,不能接受的请勿下载。
     8, 游戏版本你花金币下载后,无法进游戏,请报报错,并说明原因,站长会退回您已经支付的金币到您本站账户上。
    0
    赏钱
    收藏
    点击回复
        全部留言
    • 0
    更多回复
        你可能感兴趣的主题
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版