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

Introducing a sly logic as a parent sly will harm existing data in AEM ?

JakeCham
Level 4
Level 4

<sly data-sly-test="logic"> //Newly added logic

    <sly data-sly-test="logic"> //existing logc

    </sly>

</sly>

Here I have wrapped the existing logic by a new logic and all of my existing content related to that inside sly logic got lost.

Any inputs highly appreciate.

1 Accepted Solution
Arun_Patidar
Correct answer by
Community Advisor
Community Advisor

If your first condition is rely on some new properties then yes the condition will always be a false and you will not see any content. If this is a case then add complex condition 
e.g. <sly data-sly-test="{properties.newProp && logic}">

View solution in original post

7 Replies
Anudeep_Garnepudi
Community Advisor
Community Advisor

@JakeCham 

I don't think you need inner test condition because you are already checking on top. Try removing the inner/old/existing test condition.

Hope that works.

-AG

JakeCham
Level 4
Level 4
I have implemented this way long time ago.so content are on the clients sitte now.then new requirement came and I want to wrap the existing logic by new sly logic. Problem is content will be lost.
Anudeep_Garnepudi
Community Advisor
Community Advisor
I don't think will loose content. The latest HTL file will be executed across old and new pages. Try to check this way, create a page/component in local box with your old logic and then update the logic and refresh the page and see if there is any change.
Suraj_Kamdi
Community Advisor
Community Advisor

@JakeCham Please provide some sample code snippet just to know what you are actually doing?

BrianKasingli
Community Advisor
Community Advisor

Try to add variables to your sightly elements.

 

<sly data-sly-test.modelA="com.mysite.core.slingmodels.button"> //Newly added logic

    <sly data-sly-test.modelB="com.mysite.core.slingmodels.buttonflat"> //existing logc

    </sly>

</sly>

 

kiranparab
Level 4
Level 4

Hi,

 

Case A -

Looks like new logic " data-sly-test='logic' " returning false which don't allow to execute the inner portion

Case B -

If you have 2 different test conditions then define with variables like data-sly-test.new="logic" and data-sly-test.old="logic"

 

Thanks,

Kiran Parab

Arun_Patidar
Correct answer by
Community Advisor
Community Advisor

If your first condition is rely on some new properties then yes the condition will always be a false and you will not see any content. If this is a case then add complex condition 
e.g. <sly data-sly-test="{properties.newProp && logic}">

View solution in original post