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

teaserDelegate resource returning null

Avatar

Level 2

 

I have defined teaserDelegate on list component node

-- sling:resourceSuperType="core/wcm/components/list/v2/list"

 --   teaserDelegate="core/wcm/components/teaser/v1/teaser"

 

My page in the list item has teaser image, however when I call item

${item.teaserResource} there is no resource, it is coming as null. How do we configure list component to use teaserDelegate? Is there any step I am missing?

 

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

So if I good understand, you would like to get data from teaser that is located on different page. In that case you will probably need some custom component/solution, teaser delegate will show page metadata as teaser but it will not look for the teaser component on that page.

View solution in original post

1 Reply

Avatar

Community Advisor

Hi @mohammedahmed, to use teaserDelegate list feature you need to use v3 of list component and v2 of teaser.

<my-list
    jcr:primaryType="cq:Component"
    componentGroup="My Group"
    cq:isContainer="{Boolean}false"
    jcr:title="My List Component"
    sling:resourceSuperType="core/wcm/components/list/v3/list"
    teaserDelegate="core/wcm/components/teaser/v2/teaser"/>

If your component is configured correctly you will see additional option that will allow to display list items as teaser.

list-teaser-delegate-dialog.jpg

I am not sure which version of Core Compnents you are using but I would suggest to use the latest one. You can observe that v2 of list component is using following ListItem implementation https://github.com/adobe/aem-core-wcm-components/blob/development/bundles/core/src/main/java/com/ado... - which is not providing any implementation of getTeaserResource() method so default value - null is returned.

You can also check ListItem implementation used by v3 list https://github.com/adobe/aem-core-wcm-components/blob/development/bundles/core/src/main/java/com/ado... - as you can see this version contains getTeaserResource() method fully implemented.

Avatar

Level 2

Thank you @lukasz-m

I do see the option now. I am more interested in the image path on the teaser item. I am getting the resource now with the path --/content/mysite/mypage1/jcr:content however my teaser is at -- /content/mysite/mypage1/jcr:content/root/container/container/teaser

Is there any OOTB api we can use to get this path or we have to write some additional class to get the resource and appropriate field.

 

 

Avatar

Correct answer by
Community Advisor

So if I good understand, you would like to get data from teaser that is located on different page. In that case you will probably need some custom component/solution, teaser delegate will show page metadata as teaser but it will not look for the teaser component on that page.