gpt4 book ai didi

adobe - 如何在我的CQ5实例中根据不同网站操作sidekick允许的组件组?

转载 作者:行者123 更新时间:2023-12-04 16:50:03 29 4
gpt4 key购买 nike

http://helpx.adobe.com/experience-manager/kb/HowToDefineComponentListDynamically.html
我在上面尝试过,但由于文章的不完整,我失败了。页面加载时究竟发生了什么?
哪个 js 调用了哪个 js?
如何覆盖 ComponentList.js 的“更新”功能?
如何调用它?
我尝试使用监听器但失败了(也许是因为第一次使用监听器?)

最佳答案

Each client side component also gets a cell search path and eventually a CQ.wcm.Cell >assigned.The array of allowed components is kept in a CQ.wcm.ComponentList class of which there is an instance per page.

The insert dialogs and the sidekick get the final list of component from that object.

The "updatecomponentlist" listener can be registered using the normal editConfig listeners on the container component

根据文档,sidekick 从设计路径读取组件列表并在客户端修改它,您必须在容器组件的编辑配置中添加 updatecomponentlist 事件监听器。

我无法告诉您内部原理,但我可以告诉您如何操作 SideKick 中的组件列表。

  1. 您必须扩展 parsys component为了这个答案的目的,将其称为 myparsys

  2. 在 myparsys 的 cq:editConfig 节点中添加一个 cq:listeners 节点。

  3. 在节点 cq:listeners 中添加一个属性 updatecomponentlistener ,它的值应该是这里提供的函数

    function MyHandler(cell, allowed, componentList) {
    // manipulate the 'allowed' array if needed
    if(allowed instanceof Array)
    allowed.push('your component group');
    }
  4. 在您的页面中使用 myparsys 组件

这里唯一的问题是,如果 allowed 参数是一个字符串,它就不起作用。当您在该页面的设计路径中允许单个组件或单个组时,就会发生这种情况。因此,要使其始终有效,请在您的设计路径中将允许的组件列表保持为空,并在运行时更改允许的组件。

另外根据文档,这没有得到正确支持

Please note that "runtime" manipulations of the component list is currently not supported. >i.e. if the list of allowed components depends on client side changes, this can't be >propagated to the dialogs.

这意味着在设计对话框中,您在运行时允许的组件不会向作者显示选择。

因此我建议您咨询合适的 CQ 开发人员或在官方 CQ 论坛或 Adob​​e 论坛上询问是否推荐此用例。

关于adobe - 如何在我的CQ5实例中根据不同网站操作sidekick允许的组件组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23268233/

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