企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
因为标签的应用很多会配合模板的使用,所以这里默认认为你已经多少了解了html基本语法。 齐博X1中标签是一大特色,利用标签取数据是齐博从V系列就开始的,一个标签可以有特有的模板+数据,填充任意地方 这里所说的标签不是seo里的标签,不是关键字,不是长尾词。这里的标签是指一个可以利用数据来填充的块。 我们使用x1模板的时候,如果模板作者在读取数据的时候,使用标签了,我们可以在前台页面,管理登录双击直接进入标签可视化设置相关的数据,但是这里的标签已经被限制住类型了,也就是说作者给我们设置了什么类型,就只能填充什么类型的数据,比如下面这个只有文字标题,那我们就只能设置简单的文字标题 ![](https://img.kancloud.cn/b5/33/b533cf49fe88061e4efd92993c30a4ed_667x195.png) ![](https://img.kancloud.cn/93/31/93312b47f427144294b4ee249c879a01_655x291.png) 所以前台设置是普通用户简单使用,如果想深入了解和使用X1,还是需要详细了解下X1的标签的具体方法, 直接调用使用标签的选项参数来设置数据,更加的灵活方便 X1中的标签格式`{qb:tag}  {/qb:tag} `头尾闭合的固定形式出现。 通用标签格式: `{qb:tag name="xxx001" type="cms" rows="20" }` //包含里面是默认相关块的代码,和数据。如果前台没有进行设置,则按照这里参数设置的一系列数据输出,如果前台设置的话,就按照前台设置的输出 `{/qb:tag}` 这样定义的格式,其实也是一种循环输出,是循环输出标签中包含的代码 所以个人建议,如果熟练使用X1后,可以不必再使用前台的可视化设置,统一默认代码包含这种形式的输出,这样更灵活便利,当然前提是需要懂点代码。 下面以通用标签实际参数选项来说明: 这些参数,我们也可以称之为属性,即这个通用标签有哪些属性,不同的属性之间空格隔开。 `name:`标签名称,和一般变量命名相似,字母数字下划线都可以,不要重复 type:类型; 我们可以认为是一个数据源,或者说读取哪里或是什么类型的数据,可以是对应的模块关键字比如`cms、shop、fenle`i等等,比如上面是cms,那么这个标签输出的数据就是cms type还有很多特殊选项,比如`image,text,ueditor`等等,对应各种不同类型的输出,方便前台设置,如果熟悉代码,这些就特殊字段标签在模板里设置好就好,不必再前端输出,除非是你做的模板要给大众使用,需要全局考虑 例一:只放了一个名称和类型 ~~~ {qb:tag name="xxx001" type="cms"}    {$rs.title}<br /> {/qb:tag} ~~~ 对应则是内容表中的数据 ![](https://img.kancloud.cn/8a/ea/8aeaca9b98f79f4c616602c3c9ddab8e_435x112.png) 注意:里面取数据如果`type`类型是模块名那么默认数组名是`$rs`,后面输出的便是对应的内容表的字段。比如`title,content`等 特殊类型这里就不在举例,自己添加上测试看下就明白了 rows:循环控制条数,默认是5条,可以添加多条 例二:例一的基础上加上`rows="10"`,这样就显示了10条数据,如下 ~~~ {qb:tag name="xxx001" type="cms" rows="10"}    {$rs.title}<br /> {/qb:tag} ~~~ ![](https://img.kancloud.cn/e5/66/e566bb03b923157bb8431c51fbb43ab0_392x194.png) mid:模型的id,就是之前说的模块管理中,模型管理那里对应的id,默认是取所有模型的数据,如果设置了mid参数,可以指定对应的模型 例三:这里在例二的基础上,加上mid的参数,如下 ~~~ {qb:tag name="xxx001" type="cms" rows="10" mid="2"} 对应的mid:{$rs.mid}; 对应的标题:{$rs.title}<br /> {/qb:tag} ~~~ 这里`mid=2`,所以输出的都是mid=2的内容 id:栏目的id,如果想获取静态的栏目id,可以直接fid=1这样直接指定对应的栏目fid,即可,如果动态获取fid,那就要用到下面所说的where属性 例四:这里在例三的基础上,加上fid的参数,如下 `{qb:tag name="xxx001" type="cms" rows="10" mid="1" fid="10"} 对应的fid:{$rs.fid}; 对应的标题:{$rs.title}<br /> {/qb:tag}` 我们选择模型为1,栏目id为10的内容选取 ![](https://img.kancloud.cn/de/fa/defa3b79a57fa49d6fcf1c3382e26b7f_453x229.png) 对应内容 ![](https://img.kancloud.cn/c2/2a/c22a5d52915789c55604ef2663f0eea3_665x330.png) 标签输出: ![](https://img.kancloud.cn/69/60/69607a72f17b4d53acff7fe2058cf919_590x143.png) order这个属性和by一起说明,因为一般都是一起使用,不过by是设置升序或者降序的参数,不填写的话,默认就是降序 order这个是按照某个字段进行排序,比如id 、view(浏览量)、create\_time(创建时间) 、list(后台自定义排序)...... 我们这里演示下按照view,和id排序 例五:这里在例四的基础上,加上order和by的排序参数,如下 ~~~ {qb:tag name="xxx001" type="cms" rows="10" mid="1" fid="10" order="id" by="desc"} 对应的id:{$rs.id}; 对应的标题:{$rs.title}<br /> {/qb:tag} ~~~ by如果不写,默认就是当前代码中的desc,也可以设置为`by="asc"`为升序输出 ![](https://img.kancloud.cn/27/0a/270aa78f29af24e948f1b1a180a34e70_714x145.png) 或者设置`order="view" `浏览器降序输出 ~~~ {qb:tag name="xxx001" type="cms" rows="10" mid="1" fid="10" order="view" by="desc"} 对应的view:{$rs.view}; 对应的标题:{$rs.title}<br /> {/qb:tag} ~~~ ![](https://img.kancloud.cn/fb/77/fb77954a80c15779ac31cb34240f40ef_667x142.png) 这里有个★星级注意的地方: order尽量在使用标签的时候都添加一个,不想添加id、view这些关键字段的话,添加一个list都可以的,因为如果不填写order的排序属性,系统有时会默认随机数输出,非常消耗资源,如果数据很多的时候,会造成假死状态,页面非常卡,影响用户体验, where:条件,我们在输出标签的时候,需要按照一定的条件或者规则输出,那么就需要用到这个属性 用where的条件,需要知道几个运算符,常用的 =(等于)、<>(不等于)、&(与) 比如我们改写下例四,fid用where来设置 例六 还是设置fid=10的栏目内容,但是用where来设置 这里直接设置fid=10对应栏目id即可,<>(不等于)是相同道理 ~~~ {qb:tag name="xxx001" type="cms" rows="10" mid="1" order="view" by="desc" where="fid=10"} 对应的fid:{$rs.fid}; 对应的标题:{$rs.title}<br /> {/qb:tag} ~~~ ![](https://img.kancloud.cn/72/1f/721ff755167dcaa57e742c4d7bcde248_579x117.png) 如果多个条件,那就用&(与)来连接,比如我们需要fid是10,uid是1的用户文章 ~~~ {qb:tag name="xxx001" type="cms" rows="10" mid="1" order="view" by="desc" where="fid=10&uid=1"} 对应的fid:{$rs.fid};对应的uid:{$rs.uid}; 对应的标题:{$rs.title}<br /> {/qb:tag} ~~~ ![](https://img.kancloud.cn/14/3b/143b09a46d125ec44ad51453a1c9b4b7_689x73.png) 如果需要在多个栏目里,那么按理说,条件判断需要用或运算|,但是标签没有该运算符,我们该如何实现多个栏目的选取呢,直接用逗号设置相关id即可 比如,现在要选取栏目id=10和11的内容,我们可以这样where="fid=10,11" ~~~ {qb:tag name="xxx001" type="cms" rows="10" mid="1" order="view" by="desc" where="fid=10,11"} 对应的fid:{$rs.fid}; 对应的标题:{$rs.title}<br /> {/qb:tag} ~~~ ![](https://img.kancloud.cn/06/8a/068aaedcafa8070efb34964e945c03cc_576x145.png) 以上就是常用的一些属性设置,还有些特别的属性用的不多,比如sql、class、js等等。 多数是在开发模块插件或者做风格里用到,以后说到这些的时候,再单独说明