基础知识
通过以下基础概念,你可以快速了解如何使用 Sline objects,filters,和 tags 进行主题开发。
资源 handles
资源 handles 是识别不同店铺资源的标识符,用于构建资源的 URL 或者获取资源对象。
拥有 handle 的常见资源对象有 product、collection、article 和 blog。其它类型的对象资源,如 linklists 和 link,也同样具有 handles。
同一对象的不同资源均拥有唯一的 handle 标识。以 product 对象为例,如果一个店铺有两个不同的产品,两个产品资源的 handle 是不同的。
创建和修改 handle
资源创建的时候,资源标题会填充到 handle 上,并遵循一组规则:
- handle 始终为小写,输入大写会被转换为小写。
- 空格和特殊字符被替换为连字符
-。 - 如果有多个连续的空格或特殊字符,则它们被替换为单个连字符。
- 开头的空格或特殊字符将被移除。
- 同一个资源下的 handle 需要保持唯一性,因此如果使用了重复的标题,则 handle 会自动递增一。例如,如果有两个名为 "bed" 的产品,则它们的 handle 分别为 bed 和 bed-1。
创建资源后,更改资源标题不会更新 handle。
你可以在 SHOPLINE 商家后台中修改资源的 handle。在具体资源的管理页面的 搜索引擎优化 组件编辑 handle 信息。如果通过 handle 引用资源,确保在修改 handle 时更新这些引用。
注意:
- linklists 中的个别链接根据其标题生成 handle (例如 linklists.header),这些 handle 无法直接修改。
- theme.config.json、sections 或 blocks 中获取的个别设置使用其 id 属性作为 handle。
使用 handle
所有具有 handle 的对象都有一个 handle 属性。例如,你可以使用 product.handle 输出产品的 handle。你可以通过两种方式在父对象内引用一个对象,这个对象是通过其 handle 标识的:
- 方括号表示法
[ ]:接受方括号内的 handle 字符串或变量,例如linklists["header"]或linklists[header]。 - 点表示法
.:接受不带方括号的 handle,例如linklists.header。
运算符
Sline 支持基本的逻辑和比较运算符,可用于 if tag 和取值表达式。