Adobe 如何根据CQ5实例中的不同网站操作sidekick中允许的组件组?
Adobe 如何根据CQ5实例中的不同网站操作sidekick中允许的组件组?,adobe,aem,Adobe,Aem,我试过上面的内容,但由于文章的不完整,我失败了。加载页面时会发生什么情况?哪个js调用哪个js?如何覆盖ComponentList.js的“update”函数?如何调用它?我尝试使用侦听器,但失败了(可能是因为第一次使用侦听器?) 每个客户端组件还获得一个单元搜索路径,并最终分配一个CQ.wcm.cell>。 允许的组件数组保存在CQ.wcm.ComponentList类中,该类的每个页面都有一个实例 insert对话框和sidekick从该对象获取组件的最终列表 可以使用容器组件上的普通edi
我试过上面的内容,但由于文章的不完整,我失败了。加载页面时会发生什么情况?
哪个js调用哪个js?
如何覆盖ComponentList.js的“update”函数?
如何调用它?
我尝试使用侦听器,但失败了(可能是因为第一次使用侦听器?) 每个客户端组件还获得一个单元搜索路径,并最终分配一个CQ.wcm.cell>。 允许的组件数组保存在CQ.wcm.ComponentList类中,该类的每个页面都有一个实例 insert对话框和sidekick从该对象获取组件的最终列表 可以使用容器组件上的普通editConfig侦听器注册“updatecomponentlist”侦听器 根据文档,sidekick从设计路径读取组件列表,要在客户端修改组件列表,必须在容器组件的编辑配置中添加
updatecomponentlist
事件侦听器
我不能告诉你内部的情况,但我可以告诉你如何操作SideKick中的组件列表
function MyHandler(cell, allowed, componentList) {
// manipulate the 'allowed' array if needed
if(allowed instanceof Array)
allowed.push('your component group');
}
allowed
参数是字符串,则它不起作用。当在该页面的设计路径中允许单个组件或单个组时,就会发生这种情况。因此,要使其始终有效,请在设计路径中保持允许的组件列表为空,并在运行时更改允许的组件
此外,根据文件,这是不正确的支持
请注意,当前不支持对组件列表进行“运行时”操作。>i、 e.如果允许的组件列表取决于客户端更改,则不能>传播到对话框
这意味着在设计对话框中,您在运行时允许的组件将不会显示给作者
因此,我建议您咨询适当的CQ开发人员,或在官方CQ论坛或Adobe论坛上询问是否推荐使用此用例。只是想知道您是否真的需要在加载不同页面时动态选择组件组。如果您想知道是否可以手动执行此操作,请从sidekick切换到设计模式,并编辑要放置组件(通常是parsys)的目标单元格。这应该会在sidekick中打开一个菜单,然后你可以在那里设置组件组。嗨bongman,我想我已经知道你说的关于设计模式的事情了。请你只回答被问到的问题。我相信这些信息的来源是:而且,这些说明对我不起作用。updatecomponentlist事件侦听器似乎已注册,但从未被激发。我打开了一张日托票据,并在社区论坛上描述了我的发现:为了跟进我之前的评论,缺少的部分是组件定义上的cq:isContainer=“true”属性。此属性(不是从扩展parsys的组件上的resourceSuperType继承的)是文档中遗漏的一条重要信息。事实上,只要设置了此属性(允许您在嵌入parsys组件的组件上定义此侦听器),该组件就不需要是parsys的副本或扩展。