这里做了什么。这种语法对于什么意味着什么?

时间:2016-10-24 15:12:52

标签: aem sightly

I am reading the docs about calling clientlibs in sightly。 我没有得到以下语法

<sly data-sly-use.clientlib="/libs/granite/sightly/templates/clientlib.html"
     data-sly-call="${clientlib.all @ categories='clientlib1,clientlib2'}"/>

为什么我们在这里使用类别?它与clientlibs有什么关系?

1 个答案:

答案 0 :(得分:4)

让我们打破这个:

<sly> - 是一个不做任何事情的明显标记:)因此,当您不想使用HTML标记时,可以使用<sly>作为占位符。< / p>

data-sly-use.clientlib =“/ libs / granite / sightly / templates / clientlib.html - 此行引用了标有data-sly-template模板的clientlib.html文件这些模板是可重复使用的标记。将它们视为htl中的函数。

data-sly-call - 用于调用上述clientlib.html中的一个模板

clientLib.all - “ all ”是从clientlib.html调用的模板的名称,该模板使用clientLib关键字(-use.clientLib)引用

@ categories ='clientlib1,clientlib2 - 类别用于标识用于AEM中客户端代码的cq:clientLibraryFolder。如果您选中https://github.com/davidhalter/jedi/issues/570,它会显示库clientlib1&amp;的位置。 clientlib2

简而言之,这一行称为2个库(包含js&amp; css),类别为clientlib1&amp; clientlib2并将它们加载到页面/组件