布局

布局是主题的基础,所有模板都是通过布局呈现的。

布局是一种 Liquid 文件,它允许你在一个位置包含在多个页面类型中重复出现的内容。例如页眉和页脚。

你可以编辑默认的 theme.liquid 布局,也可以根据自己的需要创建多个自定义布局文件。您可以在模板级别指定使用哪种布局,或是否使用布局:

  • 在 JSON 模板中,用于呈现页面的布局是通过布局属性指定的。
  • 在 Liquid 模板中,使用 layout Liquid 标签指定用于呈现页面的布局。

Location

布局文件位于主题的layout目录中:

└── theme
    ├── layout
    |   ├── theme.liquid
    |   ...
    ├── templates
    ...

子类型

有以下布局类型:

类型描述
一般一般布局适用于所有非结账页面。默认布局文件为 theme.liquid,必须包含在所有主题中。
结账(checkout)此布局类型适用于所有结账页面。仅适用于 Shopify Plus 商家

Schema

由于布局文件是主题的基础,它们在大多数情况下应遵循标准 HTML 文档的结构。大多数布局文件还包含以下 Liquid 对象:

  • content_for_header
  • content_for_layout
<!DOCTYPE html>
<html>
  <head>
    ...
    {{ content_for_header }}
    ...
  </head>

  <body>
    ...
    {{ content_for_layout }}
    ...
  </body>
 </html>

内容

布局允许您在单个位置包含在多个页面类型中重复出现的内容。例如,布局可能包括页眉和页脚部分以及SEO元数据。

布局文件是 .liquid 文件,因此可以使用标准 HTML 和 Liquid 构建内容。

布局可以访问任何全局 Liquid 对象,并包含以下 Liquid 对象:

  • content_for_header
  • content_for_layout.

注意事项
这些对象在 theme.liquid 中是必需的。如果不包含这些对象的引用,就无法使用代码编辑器或 Shopify CLI 等工具保存或更新文件。

content_for_header

content_for_header对象在theme.liquid中是必需的。它必须置于 HTML 标记内。它将 Shopify 所需的所有脚本动态加载到文档头部。这些脚本是 reCAPTCHA、Shopify 应用程序等功能所必需的。

content_for_layout

content_for_layout 对象动态输出每个模板的内容。您需要在 和 HTML 标记之间添加对该对象的引用。

给模板添加class

通过下面的代码,可以给模板添加特定的class。

<body class="template-{{ template.name }}">
  ...
</body>
.template-product {
  margin-bottom: 2em;
}

原文:https://shopify.dev/docs/themes/architecture/layouts#support-template-specific-css-selectors

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注