【问题标题】:IN AEM, how can i take values from a component in the body section and write them in the head section of the html在 AEM 中,我如何从 body 部分的组件中获取值并将它们写入 html 的 head 部分
【发布时间】:2021-01-14 18:37:57
【问题描述】:

假设您有一个组件正在页面的正文部分中使用。我想从该组件的文本字段中获取特定值并将它们写入 html 文件。

我有一个磁贴列表组件,带有一个标题文本字段和一个描述富文本字段。


                            <div class="col box-title">${tileitems.properties.title @ context='html'}</div>
                            <div data-sly-test='${description}' class="col">
                                <p>${tileitems.properties.rte || tileitems.properties.description @ context='html'}</p>
                            </div>

如何获取编写到组件中并写入同一页面但写入 html 头部的值。

我需要一个 java 模型吗?任何例子谢谢

【问题讨论】:

    标签: java seo aem sightly


    【解决方案1】:

    你有(至少)两个选择:

    1. 使用 JavaScript 从您的内容组件将所需的标记附加到 head
    2. 创建一个使用对象(Java/Sling 模型)并遍历后代树以搜索特定的资源类型和属性并公开您需要的数据。使用它在head 中附加所需的标记。

    【讨论】:

    • 所以首先选择,附加javascript。任何例子,我不认为 javascript 会工作,因为页面已经加载了。
    • @developers 您仍然可以附加 (stackoverflow.com/questions/1900874/…)。但它可能没有那么有用(例如,元标记可能适用于忽略 Javascript 或在追加完成之前处理头部的客户端/脚本)。
    • 会使用 Javascript-Use-API 吗?
    • 不,第一个选项是客户端JS。对于第二个选项,您可以使用 Javascript Use API,但这通常比 Java Use API 更慢且可靠性更低。
    • 如何在 javascript 标签中添加 sly 标签
    【解决方案2】:

    另一种选择是扩展页面属性,而不是正文中的组件。然后,您可以直接在head.html中阅读它们

    【讨论】:

    • 我在 中添加 标签时遇到问题
    • 你想做什么?可以分享一下代码示例吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多