使用query查询将其它数据添加到模板中

使用query查询将其它数据添加到模板中

ZKEASOFT August 18, 2024


什么是Query

使用Query,可以将对应的内容引入到模板中显示。例如可以在文章模板中引入产品,视频等。

语法

Query语法和SQL有点类似,但是请注意,这并不是SQL,不支持复杂的语法。

基础语法:

{% query %}
SELECT <variable name> FROM <collections> [FIND <ID>] | { [WHERE <search condition>] [SKIP <num>] [TAKE <num>] } ORDER BY <order by expression>
{% endquery %}
  • SELECT <variable name>:是变量名,这个变量名将在后面绑定时使用。
  • FROM <collections>:数据源
  • FIND <ID>:按ID查找数据,仅返回单个数据,ID为数字或者字符串,字符串用双引号表示,"{ID}"
  • WHERE <search condition>:按条件过滤,结果以数组形式返回。注意:FIND与WHERE只能二选一
    • SKIP <num>:跳过一定数量的数据
    • TAKE <num>:提取一定数据的数据
    • ORDER BY <order by expression>:排序

可用的<collections>:

数据源名称 描述
Articles

文章

ArticleTypes 文章类别
ArticleGalleries 文章组
Products 产品
ProductCategories 产品类别

ProductGalleries

产品组
Videos 视频
VideoTypes 视频类别
VideoGalleries 视频组
Comments 评论
MessageBoard 留言板
Basket 购物车
Carousels 焦点图
Cultures 语言
Navigations 导航

示例

下面是一个简单示例,按一定的条件查询出产品,并且按创建时间倒序:

{% query %}
    select prods from products where  id=1 or title like "% FPS %" and createdate >= "2017-11-17 15:30:20" order by createdate desc
{% endquery %}

{% for item in prods %}
<h3>
    {{ item.Title }}
</h3>
{% endfor %}

将会输出:

<h3>
    Alloy FPS 机械游戏键盘
</h3>
<h3>
    Cloud Revolver 游戏耳机
</h3>

微信公众号