什么是 Handlebars ?
Handlebars 是一个模板语言,允许您创建一个模板来 托管静态内容,并根据模板的渲染位置动态插入信息。例如,您可以创建一个产品模板,其中包含所有标准的产品属性,如产品图片、标题和价格。然后,该模板可以根据当前正在查看的产品动态地呈现这些属性,显示相应的内容。
Handlebars 基础概念
Handlebars被用于动态呈现对象及其属性。您可以通过使用 helpers 编写逻辑或修改输出。object 及其属性使用Handlebars表达式进行呈现,格式为双花括号,如 {{ 表达式 }}。此外,三花括号 {{{ 表达式 }}} 可以用于输出未经过HTML转义的内容,确保表达式中的任何HTML标签都不被视为标记,而是作为纯文本处理。
注意
Shopline 针对 Handlebars 进行高度定制,helper 完全内部实现,无法支持自定义注册helper,同时具体我们自己特性的关键字比较符,例如 and、or、==、!=等。
<!-- Render html title -->
<title>
{{ page_title }}
</title>
<!-- Render html meta description -->
{{#if page_description}}
<meta name="description" content="{{ truncate page_description 150 }}">
{{/if}}
<!-- Render unescaped html -->
<div class="product_description_container">{{{ product.description }}}</div>
认识 Object
Handlebars对象代表您可以用来构建主题的变量。对象类型包括但不限于:
- 存储资源,如集合或产品及其属性
- 用于支持 SHOPLINE 主题的标准内容,比如
content_for_header - 用于构建互动性的功能元素,如
paginate和search
对象可以代表单个数据点,或包含多个属性。一些产品可能代表相关的对象,比如集合中的产品 collection.products。
<section>
<!-- Collection name -->
{{ collection.title }}
<!-- Product name -->
{{ product.title }}
<!-- Product collection name -->
{{ product.collection.[0].title }}
</section>
请参考 Objects 了解 SHOPLINE 提供的 Objects 属性及说明。
认识 Helper
Handlebars的helper用于定义逻辑,指导模板的行为。在helper {{# helper some logic}} 语法块内的文本在网页呈现时不会产生可见的输出。
{{#if page_description != ''}}
{{ truncate page_description 150 }}
{{/if}}
请参考 Helpers 了解 SHOPLINE 提供的 Helpers 用法。
这篇文章对你有帮助吗?
SHOPLINE