简介
简介
这是模板API v2文档。看到从模板API v1升级.
每个帮助中心主题由一个集合组成可编辑的页面模板定义“帮助中心”中不同类型页面的布局。例如,知识库文章有一个模板,请求列表有一个模板,等等。亚博官方app
每一个
Helper迭代每一个评论
对象中的评论
数组中。的值对于每个注释author.avatar_url
,author.name
属性在HTML中呈现。{{#每个评论}}
<李>
<div类="comment-avatar">
<imgsrc="{{author.avatar_url}}"alt="《阿凡达》"/>
div>
<div类="评论作者">
{{author.name}}
div>
李>
{{/每个}}
表达式
{{author.name}}
.表达式可以包含文字、帮助中心属性、帮助程序或代码注释:一个文字字符串、数字或布尔值。字符串必须用单引号或双引号括起来。一个数字可以是任何正整数或负整数。布尔值是真正的或假.
李><李data-garden-id="typography.unordered_list_item" data-garden-version="8.39.0" class="sc-eKYRIR sc-gsWcmt jwhztf bMtobU">一个帮助中心属性指定帮助中心中的某些数据。例如,
李><李data-garden-id="typography.unordered_list_item" data-garden-version="8.39.0" class="sc-eKYRIR sc-gsWcmt jwhztf bMtobU">author.name
属性指定用户请求的文章的作者。该值仅在呈现项目时提供。详细信息请参见帮助中心属性.一个助手执行特定的操作。详细信息请参见有条件的助手,数组迭代器帮助器,定制的助手.
李><李data-garden-id="typography.unordered_list_item" data-garden-version="8.39.0" class="sc-eKYRIR sc-gsWcmt jwhztf bMtobU">一个代码注释允许您向自己和稍后可能使用该模板的其他开发人员添加注释。详细信息请参见代码注释.
李>
不允许嵌套双花括号。例如,{{{{…}}}}
导致错误。但是,您可以使用子表达式计算表达式中的表达式。
子表达式
子表达式允许您在单个表达式中调用多个helper,并将内部helper调用的结果作为参数传递给外部helper。子表达式由括号分隔。
{{搜索占位符=(dc "search_text")}}
子表达式可以嵌套:
{{搜索占位符=(摘录(dc "search_text"))}}
子表达式可用于有条件的助手:
{{#if(比较集合。长度"==" 0)}}
<div>空集合。div>
{{其他}}
<div>您的集合有{{集合。长度}}项目div>
{{/如果}}
子表达式可用于数组迭代器助手:
{{#each (slice(过滤用户。徽章="category_slug" ="成就")0 4)}}
<部分>
<h3>{{名称}}h3>
<div>{{描述}}div>
部分>
{{/每个}}
帮助中心属性
文章
具有描述用户所请求的项目的属性。您可以使用点表示法从对象中提取信息。例子:<h1>{{article.title}}h1>
<p>作者:{{article.author.name}}p>
{{article.body}}
属性的完全限定名有时称为路径.例如,名字
属性在作者
对象,但是article.author.name
是它的路径。
评论
属性返回所请求页面上所有评论的数组。数组长度
每个数组都有一个隐式数组长度
属性,该属性提供数组中的元素数。例子:
<p>本文有{{个注释。长度}}评论。p>
上下文
您可以通过为属性设置上下文来减少代码中的混乱。例如,下面的代码段使用了完整的属性路径:
<p>作者:{{article.author.name}}p>
<imgsrc="{{article.author.avatar_url}}">
的上下文article.author
对于此代码段,使用与
助手,然后才使用名字
而且avatar_url
渲染属性。例子:
{{#与article.author}}
<p>作者:{{名称}}p>
<imgsrc="{{avatar_url}}">
{{和}}
假设你也想渲染article.title
,它不在article.author
上下文。它将在块中被求值为article.author.article.title
,一个不存在的属性。
. . /
对该属性,如下:{{#与article.author}}
{{. . / article.title}}
<p>作者:{{名称}}p>
<imgsrc="{{avatar_url}}">
{{和}}
使用额外的. . /
转义一个额外的上下文。例子:
{{#条}}
{{#与作者}}
{{. . / . . / article.title}}
{{和}}
{{和}}
你可以使用其他的
块与
构造,如果上下文是falsy.假值是在布尔上下文中计算时转换为false的值。看到如何评估条件.
{{#与article.author}}
...
{{其他}}
本文没有作者!
{{和}}
请注意:在“帮助中心”,article.author
从来都不是真的假的。这里仅用于演示目的。
资产
助手插入资产的相对路径。例子:<imgsrc="{{资产'background_image.png'}}"/>
帮助中心模板支持句柄条件帮助和迭代器帮助,以及专门为帮助中心页面设计的自定义帮助。本节涵盖的主题:
有条件的助手
一个有条件的是一个基于指定条件是真还是假而呈现的块。你可以使用内置的车把助手设置如果
而且除非
构造。您还可以使用自定义条件帮助器是
创造平等的条件。
如果,if - else
如果条件为真,渲染一个块:
{{#如果条件}}
块,如果条件为真则呈现
{{/如果}}
例子:
{{#如果article.internal}}
<p>这篇文章是内部的。p>
{{/如果}}
如果条件为false,渲染一个备用块:
{{#如果条件}}
块,如果条件为真则呈现
{{其他}}
块,如果条件为假则呈现
{{/如果}}
除非
如果条件为false,则呈现一个块:
{{#除非条件}}
块,如果条件为假则呈现
{{/除非}}
是,是
当一个值与另一个值相等时,呈现一个块:
{{#是value1 value2}}
块来渲染如果值是相等的
{{/是}}
例子:
{{#是文章.作者.名字“约翰Venturini”}}
<p>很酷的!约翰Venturini是作者的这文章!p>
{{/是}}
如果值不相等,则呈现一个备用块:
{{#是value1 value2}}
块来渲染如果值是相等的
{{其他的}}
块来渲染如果值不相等
{{/是}}
如何评估条件
条件通常是帮助中心属性,例如article.internal
,其布尔值为真正的或假.有些属性没有布尔值。这些属性的评估如下:
如果值为数字,则0为假,任何其他数字为真
李><李data-garden-id="typography.unordered_list_item" data-garden-version="8.39.0" class="sc-eKYRIR sc-gsWcmt jwhztf bMtobU">如果值为字符串,空字符串为假,其他字符串为真
李><李data-garden-id="typography.unordered_list_item" data-garden-version="8.39.0" class="sc-eKYRIR sc-gsWcmt jwhztf bMtobU">如果该值是对象的集合,空集合为假,其他集合为真
李><李data-garden-id="typography.unordered_list_item" data-garden-version="8.39.0" class="sc-eKYRIR sc-gsWcmt jwhztf bMtobU">如果值为空,则表达式为假
李>
数组迭代器帮助器
某些帮助中心属性返回一个对象数组,每个对象都有自己的属性值集。例如,评论
属性返回在所请求的项目上留下的所有注释。
每一个
Helper迭代数组并呈现每个项的值。例子:{{#每个评论}}
<李>{{author.name}}注释了{{created_at}}。李>
{{/每个}}
该代码片段创建了一个列表,其中包含与文章中的评论数量相同的条目。每个条目都有特定于该注释的数据,比如它的author.name
而且created_at
值。
每一个
Helper将块的上下文设置为数组中的对象,在上面的代码段中是评论
对象。换句话说,不要使用{{comment.author.name}}
在每一个
块以上。要访问外部上下文,请使用. . /
符号。看到上下文.定制的助手
自定义helper执行帮助中心特有的操作。有关自定义帮助程序的完整列表,请参见全球助手,共享的助手,先进的助手.
摘录
截断一个字符串:<h1>{{摘录的文章。标题字符= 50}}h1>
的字符
属性指定要保留的字符数,是可选的。如果不指定,则使用默认值。有关此帮助程序的详细信息,请参见摘录助手.
{{助手[参数...][关键=价值...]}}
唯一必须的元素是助手名称。参数和键值属性因帮助器而异。
这
类中的助手传递当前根上下文与
块。假设helper接受一个文章
对象作为参数。在一个{{#条}}
Block,你可以将对象传递给helper,如下所示:{{#条}}
{{my_helper这}}
{{和}}
代码注释
{{!...}}
.例子:{{!测试一下
若要在测试和调试时注释掉另一个表达式,请使用{{!--...——}}
.例子:
{{!--
现在不要渲染这个名字
{{author.name}}
——}}