gpt4 book ai didi

aem - 在 Adob​​e CQ (AEM) 中如何使用 `data-sly-list` 和 `data-sly-resource` 迭代资源列表?

转载 作者:行者123 更新时间:2023-12-04 20:31:41 25 4
gpt4 key购买 nike

在 AEM 6.1 中,结构如下:

 - Page
- form node
- parsys
- node 1
- node 2
- ...
- node n

原始表格有以下有效的代码 <div data-sly-resource="${ 'parsys' @ resourceType='foundation/components/parsys' }" data-sly-unwrap>

我正在尝试更新在最后一个 node n 之前注入(inject)内容的表单组件.在表单节点上,我有以下代码:

<div data-sly-list.children="${resource.listChildren}">
<div data-sly-list.fields="${children.listChildren}">
<div data-sly-test=${fieldsList.last}> DO SOMETHING BEFORE LAST NODE</div>
<div data-sly-resource="${fields}"></div>
</div>
</div>

data-sly-resource似乎导致服务器挂起,在浏览器等待响应时 cpu 使用率非常高。我必须终止服务器进程并重新启动它。

我试过了<div data-sly-resource="${fields @ resourceType = fields.resourceType}"></div>但它似乎没有按预期呈现字段。

这是遍历节点的正确方法吗?


更新:查看了大量的 error.log 文件,似乎 CPU 峰值是由 RecursionTooDeepException 的无限循环引起的 - 我看不到递归在哪里。

最佳答案

根据Sightly documentation on the Resource block statement ,您需要传入资源的路径,可以是相对路径,也可以是绝对路径。我可以通过更改 <div data-sly-resource="${fields}"></div> 使您的代码正常工作至 <div data-sly-resource="${fields.path}"></div> .

<div data-sly-list.children="${resource.listChildren}">
<div data-sly-list.fields="${children.listChildren}">
<div data-sly-test=${fieldsList.last}> DO SOMETHING BEFORE LAST NODE</div>
<div data-sly-resource="${fields.path}"></div>
</div>
</div>

如果您还没有下载 Sightly REPL ,我强烈建议使用它来测试和调试此类场景。

关于aem - 在 Adob​​e CQ (AEM) 中如何使用 `data-sly-list` 和 `data-sly-resource` 迭代资源列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com