如何在 Sightly 中访问 data-sly-list 项的属性?
How do I access the properties of a data-sly-list item in Sightly?
我正在将 Sightly 与 Sling 8(不是 AEM)一起使用。我有以下模板:
<div data-sly-list.child="${resource.listChildren}">
${child.name} | ${child.path} | ${child.properties['jcr:title'] || 'no title'}
</div>
输出(单个 child )是
hello_world | /content/blog/posts/hello_world | no title
我知道 child 资源上有一个 jcr:title 属性,因为我已经使用 HTTP 调用确认了它。
如何访问 child
object 上的属性?
child
是一个没有 getProperties() 但有 getValueMap()
的 Resource,所以你应该使用:
${child.valueMap.jcr:title || 'no title'}
注意 1:变量名称中允许使用冒号以支持典型的 JCR 名称,例如 jcr:title
.
注意 2:getValueMap() 仅在 Sling API 2.7.0 bundle 之后可用,之前仅 resource.adaptTo(ValueMap.class)
可用,sightly 中的表达式语言不支持,此解决方法是要求:AEM 6.0 Sightly Child Nodes
我正在将 Sightly 与 Sling 8(不是 AEM)一起使用。我有以下模板:
<div data-sly-list.child="${resource.listChildren}">
${child.name} | ${child.path} | ${child.properties['jcr:title'] || 'no title'}
</div>
输出(单个 child )是
hello_world | /content/blog/posts/hello_world | no title
我知道 child 资源上有一个 jcr:title 属性,因为我已经使用 HTTP 调用确认了它。
如何访问 child
object 上的属性?
child
是一个没有 getProperties() 但有 getValueMap()
的 Resource,所以你应该使用:
${child.valueMap.jcr:title || 'no title'}
注意 1:变量名称中允许使用冒号以支持典型的 JCR 名称,例如 jcr:title
.
注意 2:getValueMap() 仅在 Sling API 2.7.0 bundle 之后可用,之前仅 resource.adaptTo(ValueMap.class)
可用,sightly 中的表达式语言不支持,此解决方法是要求:AEM 6.0 Sightly Child Nodes