概述

模板控制主题中每种页面类型的渲染内容。

在线商店中的每种页面类型都有一个关联的模板类型。你可以使用模板为页面类型添加相应的功能。例如,要渲染商品详情页面,主题至少需要一个 product 类型的模板。

你可以为相同的模板类型创建多个版本,以创建适用于不同用例的自定义模板。例如,你可以为衣服商品创建一个单独的商品模板,或者为包含视频内容的页面创建一个单独的页面模板。


位置

模板文件位于主题的 templates 目录中:

└── theme
├── layout
├── templates
| ├── 404.json
| ├── blog.json
| ...
...

子类型

你可以在主题中使用两种不同的模板文件类型。这些模板文件类型可以用于构建多种模板类型,每种模板类型代表商家在线商店中的一种内容类型。

文件类型

主题模板可以使用两种不同的文件类型:JSON 和 HTML。

一些模板类型仅支持 HTML 文件类型,而其他模板类型则支持两种文件类型中的任意一种。

类型描述
JSONJSON templates 是以 .json 文件扩展名保存的数据文件。这些模板允许你通过 sections 轻松填充模板内容。商家可以使用主题编辑器添加、移除或重新排列 section。

如果你使用 JSON templates,那么任何 HTML 或 Handlebars 代码都需要包含在模板引用的 section 中。

要了解更多,请参阅 JSON templates
HTMLHTML 模板是以 .html 文件扩展名保存的 Handlebars 标记文件。你可以直接在 Handlebars 模板中添加 Handlebars 和 HTML。

对比 JSON 与 HTML

如果你想在模板中使用 sections,那么你应用使用 JSON templates。

JSON 模板为商家提供了更多的灵活性来添加、删除和重排 sections,包括 app sections。此外,它们可以最小化 settings_data.json 中的数据量。相反,数据直接存储在模板中,这提高了主题编辑器的性能。

模板类型

每个可用的模板类型代表商家在线商店中的一种内容类型。没有模板类型是必须的。然而,对于你想要渲染的任何页面类型,必须有一个匹配的模板。例如,要渲染商品详情页面,你至少需要一个类型为 product 类型的模板。

在你的主题中,各种模板类型总共最多可以有 1000 个 JSON templates。例如,如果你有 20 个商品模板、10 个页面模板和 5 个商品集合模板,那么你还可以向主题添加最多 965 个额外的模板。

你可以在你的主题中使用以下模板类型。要了解每种模板类型的更多信息,请点击模板类型名称。

提示

gift_card 模板不能是 JSON templates,因此你必须将它设为 HTML 模板。

类型描述
404当客户输入无效的商店 URL 时,将渲染该页面的内容。
article渲染博客文章页面,包含文章的全部内容,以及客户的可选评论部分。该模板用于博客中的单个帖子。 提示: OS 1.0 & OS 2.0 主题模板路径为:/blogs/detail
blog渲染博客页面,列出博客中的所有文章。 提示: OS 1.0 & OS 2.0 主题模板路径为:/blogs/list
cart渲染购物车页面,提供客户购物车内容的概览。对应路由为:/cart
collection渲染商品列表页面,列出商品集合中的所有商品。
customers/account渲染客户帐户页面,提供客户帐户的概览。
customers/activate_account渲染客户帐户激活页面,包含激活客户账户的表单。
customers/addresses渲染客户地址页面,允许客户查看和管理当前地址,并添加新地址。
customers/login渲染客户登录页面,包含客户账户登录表单。
customers/orders渲染客户订单列表页面,显示客户过去订单列表。
customers/order渲染客户订单详情页面,显示客户过去订单的详细信息。
customers/register渲染客户注册页面,包含创建客户帐户的表单。
customers/forgot_password渲染忘记密码页面,允许客户通过忘记密码流程重置密码。
gift_card.html渲染礼品卡页面,显示客户购买后发放的礼品卡。必须是 HTML 模板。
index渲染商店的首页,位于根路径(/)。
activity渲染商店的活动页面。提示:OS 2.1 主题不支持活动页。
collections_all渲染商品集合列表页面,列出商店的所有集合。对应路由为:/collections-all
page渲染商店的自定义页面,例如:关于我们。
password渲染密码页面,当你为在线商店添加密码保护时显示的登录页面。该页面包括可由商家编辑的消息和客户访问商店的密码表单。对应路由为:/password
product渲染商品详情页面,包含商品的媒体和内容,以及客户选择商品款式并添加到购物车的表单。
search渲染搜索页面,显示商店搜索的结果。对应路由为:/search
proofing渲染商品的打烊页面。

配置定义

HTML 模板没有固定的配置定义。有关 HTML 模板中可以包含的内容,请参阅内容的部分。。

JSON templates 仅接受具有固定配置定义和可接受属性列表的 JSON 文件。有关 JSON templates 配置定义的信息,请参阅 JSON templates


内容

模板中可以包含的内容取决于它是 JSON templates 还是 HTML 模板。

在决定要在模板中包含哪些内容时,应该始终牢记模板类型的目标。例如,商品模板或商品模板中的一个 section 应始终包含 product 对象 ,该对象渲染商品详细信息,并且 product form helper允许客户将商品款式添加到购物车。根据你的模板类型和方法,你可能希望将这些项包含在模板中引用的 section 中。

HTML 模板接受标准的 HTML 和 Handlebars。HTML 模板可以访问任何全局 Handlebars 对象,以及与模板关联的对象。有关详细信息,请参阅每种模板类型的文档。

JSON templates 仅接受具有固定配置定义和可接受属性列表的 JSON 文件。有关详细信息,请参阅 JSON templates


使用

在使用模板文件时,你应该熟悉备用模板以及如何使用它们。

备用模板

在某些情况下,你可能需要为同一模板创建不同的标记。例如,你可能希望为特定商品创建一个包含不同 section 的备用模板。

你可以通过本地环境、主题代码编辑器主题编辑器来创建备用模板。

提示

你不能用备用模板替换默认模板。如果默认模板不能满足你的需求,那么你可以编辑模板代码来进行自定义。

命名结构

备用模板文件使用以下命名结构,其中 template-name 是模板名称,template-suffix_name 是备用名称,template_file_extension 是文件类型,可以是 json 或者 html

template_name.template_suffix_name.template_file_extension

例如,如果你创建一个名为 alternate 的备用 JSON 商品列表模板,那么文件名应如下所示:

collection.alternate.json

使用备用模板

创建备用模板后,可以通过以下方式应用:

  • 在 SHOPLINE 后台将其分配给相关资源。
  • 在主题编辑器中预览。
提示

可以通过 template 对象 来识别当前使用的模板。

这篇文章对你有帮助吗?