如何使用 Sightly 发出当前文件的服务器路径?
How to emit the server path to the current file using Sightly?
我将一些组件分解成多个较小的文件。主文件使用 data-sly-include
属性包含它们。
我想在主文件和包含文件中生成包含当前文件名的 HTML 注释,这样当我查看呈现的输出时,我可以很容易地分辨出哪个文件生成了输出。类似于:
... some HTML from the template or other components...
<!-- begin /path/to/main/file.html -->
<div>
This is from the main file
<!-- begin /path/to/main/includes/first.html -->
<p>This is fromt the first include</p>
<!-- end /path/to/main/includes/first.html -->
<!-- begin /path/to/main/includes/second.html -->
<p>This is fromt the second include</p>
<!-- end /path/to/main/includes/second.html -->
now we're back in the main file
<!-- end /path/to/main/file.html -->
我可以看到如何获取当前页面的路径,但那是包含我的组件的资源;我想要组成组件的文件的路径。有什么方法可以在 Sightly 中做到这一点?
sightly 脚本引擎将当前文件作为 sling 的绑定变量,因此以下应该有效-
sling.getScript().getScriptResource().getPath()
你必须把它放在一个 js 文件中,并从你所有的 sightly 脚本中调用它。
我将一些组件分解成多个较小的文件。主文件使用 data-sly-include
属性包含它们。
我想在主文件和包含文件中生成包含当前文件名的 HTML 注释,这样当我查看呈现的输出时,我可以很容易地分辨出哪个文件生成了输出。类似于:
... some HTML from the template or other components...
<!-- begin /path/to/main/file.html -->
<div>
This is from the main file
<!-- begin /path/to/main/includes/first.html -->
<p>This is fromt the first include</p>
<!-- end /path/to/main/includes/first.html -->
<!-- begin /path/to/main/includes/second.html -->
<p>This is fromt the second include</p>
<!-- end /path/to/main/includes/second.html -->
now we're back in the main file
<!-- end /path/to/main/file.html -->
我可以看到如何获取当前页面的路径,但那是包含我的组件的资源;我想要组成组件的文件的路径。有什么方法可以在 Sightly 中做到这一点?
sightly 脚本引擎将当前文件作为 sling 的绑定变量,因此以下应该有效-
sling.getScript().getScriptResource().getPath()
你必须把它放在一个 js 文件中,并从你所有的 sightly 脚本中调用它。