Use Experience Fragments in AEM Content Components

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

10-07-2018

Hello,

We are using AEM 6.3

Problem Statement:

1. I have a content component - "Hero" on an AEM page - home.html

2. Hero component browses Panel component pages - which means, AEM page with Panel Content Component.

home.html (with Hero) -> panel1.html

                                     -> panel2.html

Problem is how to use experience fragments here for #2.

Proposed Solution:

Instead of using individual AEM pages for Panel component.

Use experience fragments instead.

My Attempt:

1. I created one experience fragment with Panel component.

2. Tried to use in home1.html , home2.html

Issue where I got stuck:

1. How do I associate Hero component and the experience Fragment component. These will be added as 2 individual components on home.html?How will Hero component get data from Panel components? There could be multiple other Experience Fragments components. How could I associate one experience fragment component to Hero component?

2. As far as I know, I cannot break inheritance of experience fragments in AEM 6.3.  My problem is if experience fragment -"ex-panel1" is used on home1.html and home2.html. But in home2.html, the image I want to use a different one, rest of data I can re-use as-is.  I will update ex-panel1 in home2.html alone with new image. Is this the recommended approach? I see things are working fine but just wanted to get a confirmation since I read breaking inheritance in experience fragments is an option only from AEM 6.4.

Thanks,

Sudha.

Replies

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

3.1K

Likes

1.2K

Correct Reply

879

Avatar

Arun_Patidar

MVP

Total Posts

3.1K

Likes

1.2K

Correct Reply

879
Arun_Patidar
MVP

10-07-2018

Hi,

If you need variations in XF, you can go for variations.

Adobe Experience Manager Help | Understanding AEM Experience Fragments

Thanks

Arun

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

10-07-2018

I will land into same issues with variations as well right.

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K
smacdonald2008

10-07-2018

WHen you say get data - are you talking about JCR data?

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

10-07-2018

Yes JCR Data.

1. What I am doing currently is.

2. Hero component browses say 2 panel page paths.

3. Each of these components have their respective Sling Models.

4. In Sling Model of Hero, I get the Panel Path that is browsed get the sling model of Panel component and finally return the JSON from Hero component.

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K
smacdonald2008

10-07-2018

In your Sling Model code of the component - what Java API you using to gather the data?

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

10-07-2018

Sling API

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K
smacdonald2008

10-07-2018

Using the SLing API, are you getting the result set you need?

Avatar

Avatar

sudhag73425455

Avatar

sudhag73425455

sudhag73425455

10-07-2018

Using experience fragments - No I am not getting. I am not sure how I use experience fragments in this use-case. Thats the #1 under issues that I described.

I have my home.html -> I added Hero component and 2 Experience Fragment Component. Each of the experience fragment components has the panel information which needs to be read in SLing Model of Hero.

How can I do that?

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Reply

2.3K
smacdonald2008

10-07-2018

Purhaps you should look at writing an HTL component that uses Sling Models and HTL code as opposed to Experience Fragments. Experience Fragments are not meant to read Java code like HTL components are.