Question

Is it posible if i want to set a cq5 component editable in page A, but not editable in page B.

For example: at page A, i have C component we allow authors to open dialog and edit the component. But we do not allow authors to open dialog to edit component C on Page B. I try to research cq:EditConfig link, but It's not enough documentation to resolve my issue.

Was it helpful?

Solution

You can set ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE before the include, and remove it after the include.

Set:

slingRequest.setAttribute(ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE, true); 

Remove:

slingRequest.removeAttribute(ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE);

More details are here: https://dev.day.com/docs/en/cq/current/developing/boilerplates.html

You can write a Sling component filter:

And you can check the page and the component, and if you want to disable editing, just set the attribute, do the filter, and unset the attribute...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top