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` ![](https://img.kancloud.cn/0e/94/0e94c2db4d531b22813f8b29d16fcffb_1304x743.png) #### 但要务必注意,最好放在页面的底部,也就是` {qb:hy}{/qb:hy}`标签之后,因为这个函数是在标签出来的时候,才出现的。放在他前面的话,这个函数都还没定义,页面会报错的。 ![](https://img.kancloud.cn/6f/3e/6f3e331a6abd92c2a115ea81aa5e0cab_1667x812.png) 比如详细的子碎片路径如下 ~~~ {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} ~~~