Highlighted

AEM 6.3 - How to read design properties within component helper for a dynamic editable template

mail2saravana_p

04-04-2018

I have a dynamic editable template with design dialog at page component. The design properties are persisted under /conf/myapp/settings/wcm/policies/myapp like this:

jWwwf.png

My requirement is to read these page level design properties and use them inside an Image component. I have design dialog at component level as well. So when I do ${currentStyle.property}, it renders the component level design property.

Next I wrote a helper class like this:

Designer designer = currentPage.getContentResource().getResourceResolver().adaptTo(Designer.class);
  Design pageDesign = designer.getDesign(currentPage);
  Style pageStyle = pageDesign.getStyle(pageDesign.getPath());
  return pageStyle.get(PROPERTY_ANALYTICSPAGETYPE, String.class);

This code is trying to read page level design properties under /etc/designs/myapp authored under cq:designPath and NOT reading under /conf policies. Now how I read the /conf policy nodes and access those properties?

How to access page level design properties within a component?

Replies

Highlighted

smacdonald2008

04-04-2018

When Sling APIs do not work - you can always try reading the node props using the JCR API.

I am not aware of any examples that show how to read editable template node props using the Designer API.

Highlighted

mail2saravana_p

06-04-2018

Hi Sam,

I didnt want to access at JCR level. When policy changes, or new policies are added, I ll end up writing logic to search for right node. Was wondering if there is an API way of accessing these policies.