我正在使用AEM6.0并且在一个正确的脚本中,我有两个变量
$ {currentPage.path} - ? /内容/ geometrixx / EN /工具
$ {pageHref} - > /content/geometrixx/en/tools.html
现在我需要比较这两个,但由于$ {currentPage.path}没有.html,它会失败。有什么方法可以追加.html来成功比较它。
答案 0 :(得分:2)
没有。没有直接的方法可以做到这一点。以下Sightly docs的摘录告诉您原因
关注点分离:Sightly模板语言的表现力是有目的的限制,以确保使用真正的编程语言来表达相应的表示逻辑。这个可选逻辑是使用带有Use-API模式的Sightly表达式调用的,这样可以很容易地理解给定视图的调用内容,并且可能对同一资源的不同视图具有不同的逻辑。
我建议使用Java / JavaScript Use API来实现相同的目标。
但是,如果您不可避免地需要在Sightly中执行此操作,那么您可以使用以下脏黑客,但我不推荐它。
<sly data-sly-test.pagePath = "${currentPage.path}.html"></sly>
<sly data-sly-test = "${pageHref == pagePath}">
<!--/** Your HTML here */-->
</sly>
类似的问题是answered here。