特殊语法
本节包含以下内容:
comment
用于代码注释,示例如下:
输入:
感谢使用{% comment %}这是注释{% endcomment %}友好速搭。
输出:
感谢使用友好速搭。
include
从主题文件的 小部件/Snippets 目录中,加载文件。示例如下:
{% include 'product_grid_item' %}
当 Snippet 文件被加载有,里面的代码,可以访问当前页面的变量。
include的参数
with
with
参数,可以将当前页面的变量值,传递到 Snippet 文件,变量名就是 Snippet 的文件名。 例如,有个名为 color.html 的 Snippet 文件,内容如下:color: '{{ color }}' shape: '{{ shape }}'
在 Template 文件 index.html 中,使用
include
引入 color.html 文件:输入:
{% assign shape = '圆形' %} {% include 'color' %} {% include 'color' with '红色' %} {% include 'color' with '蓝色' %} {% assign shape = '方形' %} {% include 'color' with '红色' %}
输出:
color: shape: '圆形' color: '红色' shape: '圆形' color: '蓝色' shape: '圆形' color: '红色' shape: '方形'
layout
在主题文件中,默认使用名为 theme.html 的布局文件,可以通过layout
来指定使用其它布局文件:
{% layout 'newlayout' %}
如果不想在主题文件中,引入布局文件,可以使用none
:
{% layout 'none' %}
dynamic_layout
在主题文件中,可以通过dynamic_layout
来为PC端和移动端指定不同的布局文件:
{% dynamic_layout 'theme' | 'mobile' %}
默认使用名为 theme.html 的布局文件,如果是移动设备,将使用名为 mobile.html 的布局文件。
raw
可以将 Liquid 代码,以文本形式输出,而不会执行。示例如下:
输入:
{% raw %}{{ 5 | plus: 6 }}{% endraw %} 等于 11。
输出:
{{ 5 | plus: 6 }} 等于 11。
raw 的另外一个用法
使用 Liquid 引擎处理相关 JS 文件时,可能会因为 {{
}}
等符号被处理,导致 JS 文件原有逻辑被改变和破坏。这个时候我们需要保持原文(raw)。有以下两种方法:
- 打开 JS 文件, 在顶部输入
{% raw %}
、底部输入{% endraw %}
。 - 修改 JS 文件名,在后缀名之前加
raw
,例:abc.js
改名为abc.raw.js
,jq.min.js
改名为jq.min.raw.js
。
CSS 文件亦遵循此规则。