备用模板(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
