常规的"CMS内容模块"标签,在标签编辑底部都会看到“解析SQL语句”的按钮,如下图所示:
图1
点击“解析SQL语句”按钮,会显示相应的SQL语句,由些可见,选择标签类型实质是快速定位选择对应的数据表来筛选数据,如下图所示:
图2
以下将介绍如何使用如上图所示的“自定义SQL标签”及注意的事项:
1、SQL语句如何构建?
构建如图1所示的SQL语句,如:SELECT i.* FROM p8_cms_item AS `i` LIMIT 0,10 表示从数据表p8_cms_item中选择10条数据,在这里SQL语句甚至可以是非官方的数据表,也可以是多表联合查询的语句。
2、SQL查询结果集如何用?
使用自定义查询之后的结果集,都会统一存放在数组变量$list当中,参考官方的其他标准的列表显示模板,将数据输出。如模板:common/ico_title/dot_title
3、注意事项:
对官方数据,涉及到图片或缩略图的路径地址会出现形如:<!--#p8_attach#-->的变量地址,在使用时务必将这个地址转换成真实的域名或IP地址。路径地址的转换处理可在模板当中来进行,如在模板当中增加转换的语句。下面以上述SQL语句结果集中的"frame"字段为例进行说明,假设“p8_cms_item”数据表中的数据如下图3所示:
图3
图3中frame字段存储的是图片路径地址,<!--#p8_attach#-->是必须要转换的字符串,假如作用模板:common/ico_title/dot_title作为显示模板,则替换方法为,选择“风格样式”,在如图4所示的界面中,选择“common/ico_title/dot_title”模板,并点击“使用此模板”,则在下面的“模板代码”中将出来可编辑的模板代码,我们需要将转换代码写在模板当中。
图4
示例转换代码如下:
图5
其中红框中的代码是增加的地址转换代码,substr($value['frame'],18)表示去掉图3中frame图片地址中的“<!--#p8_attach#-->”字符串,图5中用红色加粗线表示要增加的网站域名或IP地址,在使用过程中转换成自己的网站IP或域名即可。