跳转到内容

qb:tag与qb:hy的主要区别

qb:tag 原来是适合于全站使用的标签,标签名不允许重复,只能唯一。只存在一份设置。他的数据表是qb_label qb:hy 原来是适合于商家圈子使用的标签,一个标签要照顾多个不同的圈子使用,需要存在多份设置。他的数据表是qb_labelhy。注意:qb:hy 的标签名也尽量不要重复,避免不可预料的后果。

由于他们的数据表结构与使用场合不一样,qb:tag是唯一的, qb:hy不是唯一的。

所以大家做碎片模板时候,就要区别清楚,用qb:tag做出的碎片用户不能复制使用。一个页面中不允许出现重复。否则会输出同样的内容或者其它异常。 要让用户可以复制碎片的话,需要使用 qb:hy标签。但要注意DIV节点的ID与CLASS不要重复,否则也容易出错。要让DIV节点不重复的话,就给他加上一个变量,比如 class="xxxx{:input('tags')}"

特别要提醒,qb:tag 做的标签不适合在圈子主页使用,因为圈子是要存放多份配置的,而qb:tag 只能存放一份配置,所以在圈子主页只能用qb:hy

也就是说qb:hy 即能满足圈子主页使用,也能满足全站使用,也可以复制模块使用。他的功能要强于qb:tag ,因此一般来说,建议大家用qb:hy

如果你使用qb:hy 就要考虑用户可以复制使用,要复制的话,就要避免DIV节点的ID与CLASS不要重复,因此对制作风格的要求严格了些。如果不想让用户复制的话,就增加一个隐藏DIV即可 <div style="display:none" class="taglabel"></div> 系统发现碎片里边存在.taglabel 这个CLASS的话,就会限制用户复制。以避免不可预料的后果,比如一个视频播放器,你就不想用户复制,就可以这样处理。

总而言之,推荐大家使用 qb:hy 标签,使用方法跟 qb:tag 一样的,没任何区别。默认是可以复制当前碎片模块,不想让用户复制而导致不可预料的后台的话,你就额外加多一段代码 <div style="display:none" class="taglabel"></div>

qb:tag 标签可以完全忽略不使用,因为他更适合于全站并且不用模块碎片化的情况使用。