내 커뮤니티 업적 표시줄을 확대합니다.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Mark Solution

활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.

해결됨

How to access multifield values of a design dialog in sightly

Avatar

Level 2

I have multifield (granite/ui/components/coral/foundation/form/multifield) in a design dialog.  And the values are being saved in the design template (/etc/designs/<myapp>/jcr:content/<mytemplate>/<mymultifield>/item[n]).

How can I access these values in my sightly template.

I was trying something like this ${currentStyle.<mymultifield>.listChildren}, but its not working

Please help.  Thanks in advance.

I am on version 6.3

1 채택된 해결책 개

Avatar

정확한 답변 작성자:
Community Advisor

Hi ybharath264

  In your model , you can inject currentStyle as below. Once you get this

1579190_pastedImage_0.png

After injecting the same , you can use it as below (just a sample) . You can use the Style ("The Adobe AEM Quickstart and Web Application.") methods

@PostConstruct
protected void init() {

   try {

   pageList = new ArrayList<SimplePage>();
  long absParent = currentStyle.get("absParent", 2L);

........

......

........

}

catch (Exception e) {

   LOG.error("Exception:", e);
   }

}

Hope this helps. Happy coding

Thanks

Veena

원본 게시물의 솔루션 보기

4 답변 개

Avatar

Community Advisor

Hi,

To access multifield values, you have to go with java or JS Use API, similar to dialog multifield value and return as list and then use in HTL.

Arun Patidar

AEM LinksLinkedIn

Avatar

정확한 답변 작성자:
Community Advisor

Hi ybharath264

  In your model , you can inject currentStyle as below. Once you get this

1579190_pastedImage_0.png

After injecting the same , you can use it as below (just a sample) . You can use the Style ("The Adobe AEM Quickstart and Web Application.") methods

@PostConstruct
protected void init() {

   try {

   pageList = new ArrayList<SimplePage>();
  long absParent = currentStyle.get("absParent", 2L);

........

......

........

}

catch (Exception e) {

   LOG.error("Exception:", e);
   }

}

Hope this helps. Happy coding

Thanks

Veena

Avatar

Level 4

You can access directly from HTL

SCREENSHOT (with the name of the design multifield property I am trying to access) :

1759558_pastedImage_0.png

CODE:

<div class="container">

  <sly

          data-sly-test="${currentStyle}"

       data-sly-use.xtcontainerstyleResource="${currentStyle.path}">

    <div data-sly-test="${xtcontainerstyleResource}" class="${currentStyle.containerCSSClasses}">

      <sly data-sly-test="${xtcontainerstyleResource.hasChildren}"

           data-sly-list="${xtcontainerstyleResource.listChildren}">

        <sly data-sly-test="${item.name == 'divElements'}"

             data-sly-list="${item.listChildren}">

          <div class="${item.cssClass}">

            <sly data-sly-resource="${ item.name @ resourceType='wcm/foundation/components/responsivegrid' }"></sly>

          </div>

        </sly>

      </sly>

    </div>

  </sly>

  <sly data-sly-test="${!currentStyle}">

    <sly data-sly-resource="${ item.name @ resourceType='wcm/foundation/components/responsivegrid' }"></sly>

</div>

Avatar

Level 2
ybharath64: Did you happen to resolve this problem ? If yes, can you please help with snippet of code for understanding.