Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

why to use ./ while giving a name for cq:widget

Avatar

Level 5

why do we use ./ while giving a name for cq:widget. I didnt find any answer about it anywhere clearly. Is it a stardard way to do it or there is some meaning to it ? I am newbie.

1 Accepted Solution

Avatar

Correct answer by
Level 10

That is how we name widgets in the CQ dialog nodes. Assume we name a multi-field widget ./multi. THen in the JSP code - we can reference it without the ./. Therefore it is multi- as shown here:

if (prop.getDefinition().isMultiple() && (name.equalsIgnoreCase("multi")

{

//Do whatever

}

To see this - see this article -- https://helpx.adobe.com/experience-manager/using/creating-custom-xtype.html

View solution in original post

5 Replies

Avatar

Level 10

As far I know, its a standard way to do it for all the variables to hold the value of the widget

Avatar

Level 10

Hi Susheel,

here are my views:

In AEM every piece of content is treated as resource. if you have name = ./textValue, you might notice name is given as a relative path.

This is where REST comes into picture, now when you can easily access this value via path /content/project/en/demo/jcr:content/right-side-content/text-component/textValue.json [ its project specifc, your might be different.]

As /content/project/en/demo/jcr:content/right-side-content/text-component  is your component path in crxde

"./" denotes next relative path which is ./textValue.

Which adds up to give you a resource path to /content/project/en/demo/jcr:content/right-side-content/text-component/textValue.json 

This is what I feel from AEM, sling, REST point of view. 

Thanks

Avatar

Correct answer by
Level 10

That is how we name widgets in the CQ dialog nodes. Assume we name a multi-field widget ./multi. THen in the JSP code - we can reference it without the ./. Therefore it is multi- as shown here:

if (prop.getDefinition().isMultiple() && (name.equalsIgnoreCase("multi")

{

//Do whatever

}

To see this - see this article -- https://helpx.adobe.com/experience-manager/using/creating-custom-xtype.html

Avatar

Level 5

smacdonald2008 wrote...

That is how we name widgets in the CQ dialog nodes. Assume we name a multi-field widget ./multi. THen in the JSP code - we can reference it without the ./. Therefore it is multi- as shown here:

if (prop.getDefinition().isMultiple() && (name.equalsIgnoreCase("multi")

{

//Do whatever

}

To see this - see this article -- https://helpx.adobe.com/experience-manager/using/creating-custom-xtype.html

 

I thought there is some special meaning to it.