Sightly 模板默认值

Sightly template default values

Sightly template/call 模式是否包含默认值?

给定一个模板:

template.html

<template data-sly-template.tmpl=${ @ foo='bar', baz='buzz' }>
  <p>the value of foo is ${foo}>
</template>

假设调用方式为:

<sly data-sly-use.myTemplate="template.html"
     data-sly-call="${myTemplate.tmpl}"/>

我想要输出:

<p>the value of foo is bar</p>

这可能吗?我想在 helpers 中使用它,比如我有一个默认情况下通常为 "true" 的标志,但我希望在某些情况下能够设置为 false。

谢谢

根据 HTL (Sightly) specification,您不能以这种方式设置默认参数。模板块表达式中的值是使用提示。

When some parameters are missing in a template call, that parameter would be initialised to an empty string within the template.

但是,您可以使用逻辑或运算符在 HTL 块表达式中设置默认值。使用您的示例:

<template data-sly-template.tmpl=${ @ foo='foo hint', baz='buzz hint' }>
    <p>the value of foo is ${foo || 'bar'}</p>
</template>