这是我面临的问题,我有非常简单的组件A和B,A在组件B内部使用 使用数据狡猾资源
我可以编辑组件A,但如果我想看到我的更改应用,我需要手动刷新页面或编辑组件B.
我尝试添加cq:listener,但没有运气
<cq:listeners
jcr:primaryType="cq:EditListenersConfig"
afteredit="REFRESH_PAGE"
/>
这是A组件的.content.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:description="component A"
jcr:primaryType="cq:Component"
jcr:title="Component A"
allowedParents="[ */*parsys]"
componentGroup="testComponent"/>
这是我的B组件的.content.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0"
xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:Component"
jcr:title="Component"
componentGroup="testComponent"/>
这是组件A的cq:editConfig
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:dialogMode="floating"
jcr:primaryType="cq:EditConfig">
<cq:listeners
jcr:primaryType="cq:EditListenersConfig"
afteredit="REFRESH_PAGE"/>
</jcr:root>
我使用的是AEM 6.2。
任何可以帮助这个的人?
由于
答案 0 :(得分:1)
在组件A的cq:editConfig节点中(我理解为内部组件),您是否尝试过:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="cq:EditConfig">
<cq:listeners
jcr:primaryType="cq:EditListenersConfig"
afteredit="REFRESH_PARENT"/>
</jcr:root>
这将在编辑组件A时强制刷新父组件B.我将此方法用于自定义布局/网格组件。
答案 1 :(得分:0)
我遇到了同样的问题,并发现最初加载页面时,在内容页面结构下未正确启动组件A(内部组件)。
例如:
/content -my_page -jcr:content -root -Component B +Component A (this needs to be initiate)
所以我所做的只是简单地添加了“ cq:templates ”并嵌套了“ component A ”,并使用 sling:resourceType = { String}组件路径
这种方法帮助我解决了问题:),请尝试这种方式。 cq:listener方法对我不起作用。