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
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

How to keep attribute for empty string value in sightly

Avatar

Level 1

In sightly if i am getting empty string value then i am not getting that attribute in html page. I am using AEM 6.4

e.g  <sly data-sly-test.iconVal=" ">

<a data-icon="${iconVal}" />

here i am not getting data-icon attribute in html page because iconVal value is empty string.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Note that an attribute (either literal or set via data-sly-attribute) whose value evaluates to the empty string will be removed in the final markup. The one exception to this rule is that a literal attribute set to a literal empty string will be preserved. For example,

For example,

<div class="${''}" data-sly-attribute.id="${''}"></div>

produces,

<div></div>

but,

<div class="" data-sly-attribute.id=""></div>

produces,

<div class=""></div>

So, try to set a literal value to the attribute if its null.

View solution in original post

2 Replies

Avatar

Correct answer by
Employee Advisor

Note that an attribute (either literal or set via data-sly-attribute) whose value evaluates to the empty string will be removed in the final markup. The one exception to this rule is that a literal attribute set to a literal empty string will be preserved. For example,

For example,

<div class="${''}" data-sly-attribute.id="${''}"></div>

produces,

<div></div>

but,

<div class="" data-sly-attribute.id=""></div>

produces,

<div class=""></div>

So, try to set a literal value to the attribute if its null.

Avatar

Level 5

Hi @Jaideep_Brar 

<div class="" data-sly-attribute.id=""></div> is not producing <div class=""></div>, but <div class></div>.

 

Any idea how we could set empty attribute value e.g. <img alt="" scr="/content/dam" />

 

I am trying <img  src="${jorvee.image}" alt="${jorvee.imageAlt || ''}"/> but final HTML is getting generated like this <img  src="/contant/dam/abc.jpg" /> when imageAlt is empty.

 

Thank you