Get a all applied campaigns from product page

Hi, how do I (from the product controller) get a list of all campaign the product is part of? I whould like to display a banner like “Part of BlackFriday” or similar on product “thumbnails” and page.

Litium version: 7

I am also looking for a similar solution,
what is the easiest way to get campaigns by passing variant id.

Inject

CampaignDataHolder

and then

var filterCampaignDataList = _campaignDataHolder.GetArticleCampaigns(articleSystemId);

I have tried this, but it does not return any value even though the campaign is active, its a free gift campaign that is active.

I tired with baseproductid as well as variant systemid.
Please let me know why it is not returning any values.

Seems like CampaignDataHolder is not supporting all types of campaigns so not usable method for this case.
No such method exists for the moment so you need to create your own.
Be aware it might affect the performance to create such method depending on amount of products/variants and Campaigns.