Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

adding parsys from code in aem 6.5

kiranc13433869
Level 4
Level 4

hi,

 

I am working on aem 6.5

So far adding parsys was done by editable templates and not for code.

My requirement is to create component which just has one parsys in it and i can drag drop components in it.

is it possible to add it from code?

can you please help me with such component.

 

here i am able to add parsys but problem with 6.5 is i can not add components in it as we specify required component list in template level.

1 Accepted Solution
Manjunath_K
Correct answer by
Community Advisor
Community Advisor

@kiranc13433869 

If you are drag & dropping a component(which has child/nested parsys in it) into layout container responsive grid of editable templates then all the components which are allowed in that particular layout container policies at editable template level are by default allowed to add in that child/nested parsys inside that particular component.

 

/content/page/jcr:content/root/          -       layout container root (say you have allowed 'x' component group or 'y' components by editing template or through code by defining policies under /conf/project/settings/wcm/policies/wcm/foundation/components/responsivegrid/policy_34324324 & map this to policy as value to cq:policy property under /conf/project/settings/wcm/templates/content-page/policies/jcr:content/root)

 

Drag & drop component A

 

/content/page/jcr:content/root/componentA/       -       component A

 

Component A has parsys in it say 'new_par'

 

/content/page/jcr:content/root/componentA/new_par     -     this parsys new_par by default inherited/enabled with 'x' component group or 'y' components which allowed in parent layout container responsive grid.

 

to answer your query we can set this allowed component policies through code or by editing templates as well.

View solution in original post

5 Replies
Singaiah_Chintalapudi
Community Advisor
Community Advisor

Yeah, you should be able to add the parsys and this is very commons requirement. The new parsys is located at: wcm/foundation/components/parsys/newpar

 

Yes, you should manage this in the code and here is the sample snippet how you can include parsys in the component: 

<sly data-sly-resource="${'myComponent' @ resourceType='wcm/foundation/components/parsys/newpar'></sly>

 

You can look at the tabs and carousel core components for more info.

 

Thanks,

Singaiah

Manjunath_K
Community Advisor
Community Advisor

@kiranc13433869 

 

If you are drag & dropping a component(which has child/nested parsys in it) into layout container responsive grid of editable templates then all the components which are allowed in that particular layout container policies at editable template level are by default allowed to add in that child/nested parsys inside that particular component.

 

/content/page/jcr:content/root/          -       layout container root (say you have allowed 'x' component group or 'y' components by editing template or through code by defining policies under /conf/project/settings/wcm/policies/wcm/foundation/components/responsivegrid/policy_34324324 & map this to policy as value to cq:policy property under /conf/project/settings/wcm/templates/content-page/policies/jcr:content/root)

 

Drag & drop component A

 

/content/page/jcr:content/root/componentA/       -       component A

 

Component A has parsys in it say 'new_par'

 

/content/page/jcr:content/root/componentA/new_par     -     this parsys new_par by default inherited/enabled with 'x' component group or 'y' components which allowed in parent layout container responsive grid.

 

to answer your query we can set this allowed component policies through code or by editing templates as well.

Manjunath_K
Community Advisor
Community Advisor

@kiranc13433869 

 

If you are drag & dropping a component(which has child/nested parsys in it) into layout container responsive grid of editable templates then all the components which are allowed in that particular layout container policies at editable template level are by default allowed to add in that child/nested parsys inside that particular component.

 

/content/page/jcr:content/root/          -       layout container root (say you have allowed 'x' component group or 'y' components by editing template or through code by defining policies under /conf/project/settings/wcm/policies/wcm/foundation/components/responsivegrid/policy_34324324 & map this to policy as value to cq:policy property under /conf/project/settings/wcm/templates/content-page/policies/jcr:content/root)

 

Drag & drop component A

 

/content/page/jcr:content/root/componentA/       -       component A

 

Component A has parsys in it say 'new_par'

 

/content/page/jcr:content/root/componentA/new_par     -     this parsys new_par by default inherited/enabled with 'x' component group or 'y' components which allowed in parent layout container responsive grid.

 

to answer your query we can set this allowed component policies through code or by editing templates as well.

Suraj_Kamdi
Community Advisor
Community Advisor

Just add the following line of code inside wrapping HTML div

 

<sly data-sly-resource="${'par' @resourceType = 'wcm/foundation/components/parsys'}"></sly>

 

or else you can also use a responsive grid where we can set policies to allow list of component.

<sly data-sly-resource="${'responsive-grid' @resourceType = 'wcm/foundation/components/responsivegrid'}"></sly>

Manjunath_K
Correct answer by
Community Advisor
Community Advisor

@kiranc13433869 

If you are drag & dropping a component(which has child/nested parsys in it) into layout container responsive grid of editable templates then all the components which are allowed in that particular layout container policies at editable template level are by default allowed to add in that child/nested parsys inside that particular component.

 

/content/page/jcr:content/root/          -       layout container root (say you have allowed 'x' component group or 'y' components by editing template or through code by defining policies under /conf/project/settings/wcm/policies/wcm/foundation/components/responsivegrid/policy_34324324 & map this to policy as value to cq:policy property under /conf/project/settings/wcm/templates/content-page/policies/jcr:content/root)

 

Drag & drop component A

 

/content/page/jcr:content/root/componentA/       -       component A

 

Component A has parsys in it say 'new_par'

 

/content/page/jcr:content/root/componentA/new_par     -     this parsys new_par by default inherited/enabled with 'x' component group or 'y' components which allowed in parent layout container responsive grid.

 

to answer your query we can set this allowed component policies through code or by editing templates as well.

View solution in original post