Constructing drop down using sightly | Community
Skip to main content
Balu_M
Level 3
October 16, 2015
Solved

Constructing drop down using sightly

  • October 16, 2015
  • 2 replies
  • 1455 views

Hi All,

 i want to construct a drop down using sightly, Drop down should be auto populated with child pages names. Can any one help me on this how to implement . I am new to AEM technology. 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Apmag

Implementation :

 

In OSGI bundle you can set like below:

public ValueMap getAllRegions(){          
           ValueMap regionMap = new ValueMapDecorator(new HashMap<String, Object>());
          for (ValueMap attributes: multiFieldAttrValues(dynamic values get it from some other service or properties file)) {
               logger.debug("Region::"+attributes.get("region").toString());
               regionMap.put(attributes.get("region").toString(), attributes.get("regionlink").toString()) ;    
              }

        return regionMap;
    }

 

In Sightly:


<div data-sly-use.regionselector="com.basco.aem.briggs.core.components.RegionSelector" data-sly-unwrap>
<select name="regionselector">
<div data-sly-list.valuemapKey="${regionselector.allRegions}" data-sly-unwrap>
   <option value="${regionselector.allRegions[valuemapKey]}">${valuemapKey}</option>
</div>
</select>

 

Thanks,
Venkatesham

2 replies

ApmagAccepted solution
Level 3
October 16, 2015

Implementation :

 

In OSGI bundle you can set like below:

public ValueMap getAllRegions(){          
           ValueMap regionMap = new ValueMapDecorator(new HashMap<String, Object>());
          for (ValueMap attributes: multiFieldAttrValues(dynamic values get it from some other service or properties file)) {
               logger.debug("Region::"+attributes.get("region").toString());
               regionMap.put(attributes.get("region").toString(), attributes.get("regionlink").toString()) ;    
              }

        return regionMap;
    }

 

In Sightly:


<div data-sly-use.regionselector="com.basco.aem.briggs.core.components.RegionSelector" data-sly-unwrap>
<select name="regionselector">
<div data-sly-list.valuemapKey="${regionselector.allRegions}" data-sly-unwrap>
   <option value="${regionselector.allRegions[valuemapKey]}">${valuemapKey}</option>
</div>
</select>

 

Thanks,
Venkatesham

edubey
Level 10
October 16, 2015

Hi,

Which version AEM you are using ?

Can you clear me on this, Do you want to populate drop values in dialog or you have HTML form on a page?