I am implementing Smart Target 2014 with DD4T Framework as per the approach in this article http://www.tridiondeveloper.com/dd4t-and-sdl-smarttarget-2014-integration. I have done following steps to create a sample page:
- Created and configured promotion/Trigger inside SDL tridion using Targeting option. Trigger type is of Current Date.
Added markup on DD4T Page view for smart target region as below:
<!-- Start Promotion Region: { "RegionID": "Header" } --> @Html.RenderSmartTargetRegionUsingView("Header", "General") <!-- End SiteEdit Promotional Region -->
Where Region is Header and my Component view is General.
- Used AmbientDataHelper to fetch trigger using mbientDataHelper.GetTriggers(claimStore) . Complete code is:
ClaimStore claimStore = AmbientDataContext.CurrentClaimStore; string query = AmbientDataHelper.GetTriggers(claimStore); var queryBuilder = new QueryBuilder(); queryBuilder.Parse(query); if (maxItems > 0) { queryBuilder.MaxItems = maxItems; } queryBuilder.StartIndex = startIndex; var pubIdUri = new Tridion.SmartTarget.Utils.TcmUri(publicationId); Tridion.SmartTarget.Query.Builder.PublicationCriteria pubCriteria = new Tridion.SmartTarget.Query.Builder.PublicationCriteria(pubIdUri); queryBuilder.AddCriteria(pubCriteria); RegionCriteria region = new RegionCriteria(regionName); List<string> componentIds = new List<string>(); ResultSet fredHopperResultset = queryBuilder.Execute(); foreach (Promotion p in fredHopperResultset.Promotions) { foreach (Item i in p.Items) { componentIds.Add(i.ComponentUriAsString + "|" + i.TemplateUriAsString); } } foreach (string s in componentIds) { string[] compPresIds = s.Split(new char[] { '|' }); string compId = compPresIds[0], templateId = compPresIds[1]; IComponent comp = null; ComponentFactory cf = new ComponentFactory(); cf.TryGetComponent(compId, out comp, templateId); var renderedCp = helper.Partial(viewName, comp); renderedRegionItemsList.Add(renderedCp); } return renderedRegionItemsList;
I have observed that AmbientDataHelper.GetTriggers(claimStore) is return empty string value. Can anyone suggest what I am missing.