AEM Style system not working

Avatar

Avatar

santhosh_kumark

MVP

Avatar

santhosh_kumark

MVP

santhosh_kumark
MVP

06-08-2020

Style classes are not mapping onto component when applied from AEM style options, but these classes are working fine when placed in Html directly. I have checked we-retail there styles are working fine. 

aem6.5 components style system

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

vanegi

Employee

Avatar

vanegi

Employee

vanegi
Employee

07-08-2020

Hello @santhosh_kumark,

As per the Decoration Tag documentation​:

 

The behavior of the wrapping DIV can be controlled via the HTL that embeds the component. To make sure the wrapping DIV (and corresponding layout & style classes) are added, you must specify the "decoration=true" option as follows:

 

<sly data-sly-resource="${'list'@ resourceType='weretail/components/content/list', decoration=true}"></sly>

 

Version 2 of the core components is fully enabled to take advantage of the style system and requires no additional configuration.

Follow the steps to enable the style system for your own custom components or to extend the version 1 core components to utilize the feature.

 

In order for a component to work with AEM's style system and show the style tab in its design dialog, the component developer must include that tab from the product with the following settings on the component:

  • path = "/mnt/overlay/cq/gui/components/authoring/dialog/style/tab_design/styletab"
  • sling:resourceType = "granite/ui/components/coral/foundation/include"

 

With the component configured, the styles configured by the page authors will be automatically inserted by AEM on the decoration element that AEM automatically wraps around every editable component. The component itself need not do anything else to make this happen.

 

Thanks!!

Answers (1)

Answers (1)

Avatar

Avatar

Shashi_Mulugu

MVP

Avatar

Shashi_Mulugu

MVP

Shashi_Mulugu
MVP

07-08-2020

@santhosh_kumark What type of component is it, Container or standalone? How are you adding that component to page, using Layout container OOTB or any custom parsys/responsivegrids?

 

Style system depends on the wrapper DIV which gets generated by default. Please check your implementation if you are truncating the wrapper div by any chance.

 

IF you are using any custom way to render component, make sure you include wrapper div as below:-

 

<sly data-sly-resource="${'comp-name' @ resourceType='RESOURCETYPE', decorationTagName='div', cssClassName='comp-name'}" />