我正在查看sightly中使用的表达式选项。我尝试了下面的代码行,但它似乎只是在页面上呈现文本,有人可以提供一些选项和一些很好的例子。
${'Assets' @ i18n, locale='fr-CH', hint='Translation Hint'}
${'Page {0} of {1}' @ format = [count,total] }
我已尝试并理解以下代码以包含parsys
<div data-sly-resource ="${@path='question_list', resourceType='wcm/foundation/components/parsys'}"></div>
此外,我可以从中获取数据狡猾的[元素]的整个列表。
由于
答案 0 :(得分:23)
Sightly表达式中的选项可以有两种不同的用法:
注意: 要轻松尝试下面提供的示例,您可以在AEM实例上安装REPL tool。 < / p>
在普通表达式(不在data-sly-*
语句中)中,可以使用以下选项:
${'Page {0} of {1}' @ format = [1, 10]}
Page 1 of 10
locale
允许更改语言,并且hint
允许向翻译者提供帮助并区分可能相同但具有不同字符串的字符串含义。${'Number' @ i18n, locale = 'de', hint = 'Media DPS Folio Number'}
Nummer
${['foo', 'bar'] @ join = '-'}
foo-bar
${'<p>Hi!</p><script>alert("hack!")</script>' @ context = 'html'}
<p>Hi!</p>
以下语句允许使用上面列出的表达式选项,因为这些语句类似于编写不带语句的表达式:
<p data-sly-text="${currentPage.title}">Lorem ipsum</p>
<p>${currentPage.title}</p>
<p data-sly-text="${'Page {0} of {1}' @ format = [1, 10]}"></p>
<p>Page 1 of 10</p>
<p href="#" data-sly-attribute.href="${currentPage.path}"></p>
<p href="${currentPage.path}"></p>
<p data-sly-attribute.title="${['foo', 'bar'] @ join = '-'}"></p>
<p title="foo-bar"></p>
<div data-sly-attribute="${properties}"></div>
以下语句接受任何表达式选项,因为它们允许传递命名参数:
<p data-sly-use.bar="${'logic.js' @ foo = 'hello'}">${bar}</p>
use(function () { return this.foo + " world"; });
<p>hello world</p>
<template data-sly-template.tmpl="${@ foo}">${foo} world</template>
<p data-sly-call="${tmpl @ foo = 'hello'}"></p>
<p>hello world</p>
以下语句允许自定义选项列表:
<div data-sly-include="${ @ path = 'path/to/template.html'}"></div>
<div data-sly-include="${'path/to/template.html'}"></div>
<div data-sly-include="path/to/template.html"></div>
path
除外)的选项是:
<div data-sly-resource="par"></div>
data-sly-include
相同,但它还接受以下选项:
以下语句不允许表达式选项: