编程语言
首页 > 编程语言> > java – 将CQ5组件设置为可编辑或不可编辑

java – 将CQ5组件设置为可编辑或不可编辑

作者:互联网

如果我想在页面A中设置可编辑的cq5组件,但在页面B中不可编辑,是否可行.

例如:在页面A,我有C组件,我们允许作者打开对话框并编辑组件.但我们不允许作者打开对话框来编辑B页上的组件C.
我尝试研究cq:EditConfig link,但这还不足以解决我的问题.

解决方法:

您可以在include之前设置ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE,并在include之后将其删除.

组:

slingRequest.setAttribute(ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE, true); 

去掉:

slingRequest.removeAttribute(ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE);

更多细节在这里:https://dev.day.com/docs/en/cq/current/developing/boilerplates.html

您可以编写Sling组件过滤器:

您可以检查页面和组件,如果要禁用编辑,只需设置属性,执行过滤,然后取消设置属性…

标签:cq5,jcr,jackrabbit,sling,java
来源: https://codeday.me/bug/20190825/1716463.html