小编典典

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

java

如果我想将cq5组件设置为在A页中可编辑但在B页中不可编辑,是否可以。

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


阅读 226

收藏
2020-11-19

共1个答案

小编典典

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

组:

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组件过滤器:

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

2020-11-19