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

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