备用模板(Alternate templates)
在处理模板文件的时候,你应该熟悉备用模板以及怎么使用它们。
有时候你可能需要为同一个模板创建不同的标记结构(markup)。比如说,你可能想为特定的产品创建一个包含不同区块的备用模板。
你可以在本地、通过主题代码编辑器,或者通过主题编辑器来创建备用模板。
注意
你不能用备用模板替换默认模板。如果默认模板不符合你的需求,那你可以编辑模板代码来自定义它。
上下文模板(Contextual templates)
当商家为特定买家上下文自定义模板时(adapts a template for a specific buyer context),会生成一个新的上下文模板文件。这个文件会以如下格式命名:index.context.<context-string>.json
上下文模板文件包含你为某个上下文做的模板覆盖(override)。模板顶部定义了 context
和父模板。context
字段的值可以包含 "market": "market-handle"
或者 "b2b": true
。比如下面这个例子就是为市场标识 ca
自定义了 image-banner
区块:
{
"context": {
"market": "ca"
},
"parent": "index.json",
"sections": {
"image_banner": {
"blocks": {
"heading": {
"disabled": true,
"settings": {
"heading_size": "h2"
}
}
},
"settings": {
"show_text_box": true
}
}
}
}
命名结构(Name structure)
备用模板文件使用以下命名结构,其中 template-name
是模板名,template-suffix
是备用模板名,template-file-type
是文件类型,通常是 json
或 liquid
:
template-name.template-suffix.template-file-type
比如你创建了一个名为 alternate 的 JSON 产品模板,那文件名就是:
product.alternate.json
使用备用模板(Use an alternate template)
当你创建了一个备用模板之后,可以通过以下方式应用它:
小提示
渲染备用模板(Render an alternate template)
你可以通过 view
URL 参数在前台渲染备用模板。格式如下:?view=[template-suffix]
,其中 [template-suffix]
是备用模板的名称。
比如在前面提到的 product.alternate.json
模板下,有一个产品叫做 Example product,你可以用下面这个链接来用备用模板渲染这个产品:
/products/example-product?view=alternate