aem - 给定路径,在 Sightly 中获取对资源的引用

标签 aem sling sightly

组件对话框有一个路径字段小部件,作者可以在其中设置页面路径。在 Sightly 组件中,我想查找该页面资源并从中获取(和显示)属性。

对话框...

<linkedPathLocation jcr:primaryType="cq:Widget"
              fieldLabel="Linked Path"
              name="./linkedPathLocation"
              xtype="pathfield"
              fieldDescription="Select a page. URL, Title, Description and Image are properties of the selected page"/>   

我想要使用的组件代码(实际上不是)。

  <div class="row" data-sly-resource.page = "${properties.linkedPathLocation}">
    <h1 >${page.title}</h1>
    <p>${page.description}</p>
  </div>

我的问题:Sightly 有没有办法解析和使用给定路径中的某些资源?如果没有,我可以创建一个 USE-API 类并执行以下操作...

Page page = resourceResolver.resolve("/path/to/resource").adaptTo(Page.class); 

最佳答案

本质上,您想要做的是在渲染另一个资源的上下文中渲染一个资源。 data-sly-resource 似乎是合适的属性,但您应该定义另一个 Sightly ,而不是尝试将其他元素嵌套到包含 data-sly-resource 的元素中。 html 文件指示如何呈现嵌套资源。

假设您的资源类型为application/components/content/type。在 type.html 中,您可能有以下语句

<sly data-sly-resource="${properties.linkedPathLocation} @ resourceType='application/components/content/type/subtype' />

然后,您将能够定义包含要生成的渲染的 /apps/application/components/content/type/subtype/subtype.html ,该渲染将在由你的道路。

关于aem - 给定路径,在 Sightly 中获取对资源的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34886701/

相关文章:

java - AEM 6.1 文档中的非常基本的示例不起作用

javascript - Uncaught ReferenceError : ZG is not defined AEM

aem - Adobe CQ6 - 失控的 ContentFinder

aem - 如何在AEM中从某个数字循环到某个数字?

java - "resource.adaptTo"NullPointer 单元测试 AEM Sling 模型 Java

rhino - 调试 Sling/Sightly 服务器端 JavaScript

java - com.adobe.aem.commons.assetshare.component 无法解析

java - 如何在 doPost() 调用上设置 UTF-8 响应?

javascript - &lt;script&gt; in sightly 下的list元素如何循环?

aem - 视觉上无法识别 html