碎片模板注意事项
1、请高度重视,避免div的id与class重复产生冲突。请给他加上后缀。比如 id="cmstitle-{:input('tags')}"。后缀变量名就是{:input('tags')}。冲突主要产生在JS特效方面。用户如果不复制当前模板就不会存在冲突,主要是用户如果复制了当前模块,也即一个页面里出现过两次当前这个模块,就会有冲突了。这个时候,就必须给他加上后缀变量名。
2、如果当前模块不想让用户复制的话,就在子模板里边加上下面的代码
`<div style="display:none" class="taglabel"></div>系统发现有 .taglabel 这个class类的时候,就不允许用户复制。
3、内容页使用的碎片模板务必要注意,请不要使用 {$id} 或者是 {:input('id')} 试图获取当前页面的id值(仅仅是圈子可以这么用),其它频道不能这样获取,其它频道要获取的话,请使用 {$info.id} 。因为id被圈子强制占用了。
4、路径可以优化,同一个目录下有太多子碎片的话,可以只写第一个详细路径,后面的只写文件名即可。如下图
5、大家务必要注意,碎片是异步加载的。你页面上公共JS中原来使用的$()这个JQ的代码,是不一定能控制到碎片上的html代码的,因为他异步延时加载出来。此时你需要把他换成 load_all_label() 比如 load_all_label(function(){ alert(5555) }),这个函数是所有碎片加载完毕后,才执行里边的代码,可以重复使用。
比如原来使用的代码如下
$(function(){ //逻辑代码})你现在需要换成,可重复使用
load_all_label(function(){ //逻辑代码})6、自定义字段的变量名不能使用下面这些字段变量名
id, name, pagename, class_cfg, cfg, extend_cfg, type, ifdata, hide, cache_time, uid, create_time, update_time, system_id, if_js, power_cfg, view_tpl, fid, title, list, ext_sys, ext_id

但要务必注意,最好放在页面的底部,也就是{qb:hy}{/qb:hy}标签之后,因为这个函数是在标签出来的时候,才出现的。放在他前面的话,这个函数都还没定义,页面会报错的。

比如详细的子碎片路径如下
{qb:hy name="pc_bbs_index_side" where="index_style/default/bbs/index/pc_model/post_info,index_style/default/bbs/index/pc_model/chat,index_style/default/bbs/index/pc_model/chat,index_style/default/bbs/index/pc_model/goodbbslist,index_style/default/bbs/index/pc_model/goodqun,index_style/default/bbs/index/pc_model/bbssort,index_style/default/bbs/index/pc_model/friendlink,index_style/default/bbs/index/pc_model/imgcode" val="datas" type="labelmodel" time="600"} {$datas} {/qb:hy}优化 后的路径如下
{qb:hy name="pc_bbs_index_side" where="index_style/default/bbs/index/pc_model/post_info,chat,goodbbslist,goodqun,bbssort,friendlink,imgcode" val="datas" type="labelmodel" time="600"} {$datas} {/qb:hy}