如何在页面组件中包含 AEM parsys

How to include AEM parsys in page component

我在页面组件文件 /apps/my-app/components/pages/homepage/body.html

中有以下行

<div data-sly-resource="${ @path='right-parsys',resourceType='wcm/foundation/components/parsys'}"></div>

我们正在获取日志消息

[.... GET /content/our-system/home/en.html HTTP/1.1] com.day.cq.wcm.msm.impl.LiveRelationshipManager Impl StarResource given at /content/our-system/home/en/jcr:content/right-parsys/*: no parent: no LiveCopy

我有以下问题:段落系统是否正确添加到视觉页面组件中?它似乎工作正常。这是右侧定位列中的第二个段落拖放区。我也是这样看的data-sly-resource="${granite.resource.path @ resourceType='wcm/foundation/components/parsys'}有什么区别?

'Star Resource' 在记录警告的上下文中是什么意思?鉴于 sightly documentation 我仍然不太明白 @ 符号的用法。

您看到的日志消息与 Sightly 本身无关,而是与正在呈现的页面的 LiveCopy 状态有关。如果 parsys 渲染输出正确,则意味着它已正确包含在正文页面组件中。

Sightly 使用“@”符号来分隔表达式选项;在调用 sightly 模板或通过 data-sly-resource 包含其他资源时,使用相同的机制发送参数。

换句话说,data-sly-resource包含的参数需要在“@”符号后提供。 您提供的两个示例之间的差异很小:在第一个语句中,将使用 'wcm/foundation/components/parsys' 资源类型包含当前资源的 'right-parsys' 子资源;第二条语句将包含使用 'wcm/foundation/components/parsys' 资源类型的当前资源。