Reading data stored in separate nodes design dialog | Community
Skip to main content
sreenu539
Level 7
September 17, 2020
Solved

Reading data stored in separate nodes design dialog

  • September 17, 2020
  • 4 replies
  • 2348 views

Hi,

 

I know to read design dialog values through for example: ${currentStyle.titleType} 

 

But how do you read design dialog data stored as separate nodes below component policy node. 

 

I have a multi field values stored as item nodes below component policy node.

 

I am trying to read it using data sly list ${curentStyle.link} which does not work as link is a child node below component policy node.

i appreciate any help, thanks.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Vijayalakshmi_S

Hi @sreenu539,

For getting policy programmatically, we need to make use of ContentPolicyManager and ContentPolicy API (We will be able to gain access to ContentPolicyManager from ResourceResolver)

ContentPolicyManager cntPolicyMgr = rescResolver.adaptTo(ContentPolicyManager.class);

Go through the methods exposed by the API and use accordingly. 

We will be able to get the policy and its properties (properties on the policy node). For accessing child nodes under policy node, should be either Resource or Node API. 

ContentPolicyManager API:

ContentPolicy API:

4 replies

Vijayalakshmi_S
Vijayalakshmi_SAccepted solution
Level 10
September 18, 2020

Hi @sreenu539,

For getting policy programmatically, we need to make use of ContentPolicyManager and ContentPolicy API (We will be able to gain access to ContentPolicyManager from ResourceResolver)

ContentPolicyManager cntPolicyMgr = rescResolver.adaptTo(ContentPolicyManager.class);

Go through the methods exposed by the API and use accordingly. 

We will be able to get the policy and its properties (properties on the policy node). For accessing child nodes under policy node, should be either Resource or Node API. 

ContentPolicyManager API:

ContentPolicy API:

Vijayalakshmi_S
Level 10
January 11, 2021

Could you please elaborate on the

  • Exact resource that you are trying to fetch with below snippet and
  • Servlet you are using for datasource logic is registered with paths or resourcetypes? Share the path used in either case.

"dataPath" property on the granite form fields is what will be available in "Value.CONTENTPATH_ATTRIBUTE". Couldn't relate which exact resource you are trying to retrieve with respect to the current context, hence the queries. 

Level 3
January 11, 2021
Hi @sreenu539, I have the same use case, how di you manage to resolve this. Can you please share your solution. Thanks NJ
sreenu539
sreenu539Author
Level 7
January 11, 2021

@nj2 

I have written a sling model to retrieve parent style node. getAllowedLinks() { allowedLinks = request.getResourceResolver().getResource(currentStyle.getPath()).getChild("links"); return allowedLinks; } in HTL: data-sly-repeat : articleInsightsModel.allowedLinks
Level 3
January 19, 2021
Thank you Sreenu