Error executing template "Designs/SeedsNZ/eCom/Product/Details.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_1fd102599e784a9580fdd12b10d5803e.<>c__DisplayClass4_0.<DisplayFeatureAndBenefits>b__0(TextWriter __razor_helper_writer) in C:\home\site\wwwroot\Application\Files\Templates\Designs\SeedsNZ\eCom\Product\Details.cshtml:line 156
at CompiledRazorTemplates.Dynamic.RazorEngine_1fd102599e784a9580fdd12b10d5803e.Execute() in C:\home\site\wwwroot\Application\Files\Templates\Designs\SeedsNZ\eCom\Product\Details.cshtml:line 347
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2
3
4 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
5 <!--IMPORTANT: This commented out tag is required so the tag is available to the product template extenders. Will review with DW about why -->
6 <!--$$GetString("Ecom:Product.PrimaryOrFirstGroupID") -->
7
8 @helper RenderBanner(string colour)
9 {
10 <div class="container-fluid banner-wrap">
11 <div class="banner overflow-img-wrap">
12 <img src="/Files/Templates/Designs/SeedsNZ/assets/img/1x1.png" alt="@GetString(PgwSeeds.TemplateExtender.GroupBannerImageService.AltTextTag)"
13 data-image-desktop="@GetString(PgwSeeds.TemplateExtender.GroupBannerImageService.DesktopBannerTag)"
14 data-image-handset="@GetString(PgwSeeds.TemplateExtender.GroupBannerImageService.HandsetBannerTag)"
15 class="img-srcset">
16 @if (!string.IsNullOrWhiteSpace(GetString(PgwSeeds.TemplateExtender.GroupBannerImageService.StrapLineTag)))
17 {
18 <div class="strapline-wrap">
19 <div class="max-width-wrap">
20 <div class="wrap-md-offset-1-leftright">
21 <div class="strapline-inner-wrap">
22
23 <h1 class="first-line truncate-text" data-lines-xs="1" data-lines-sm="1" data-lines-md="1" data-lines-lg="1" style="overflow-wrap: break-word;">@GetString(PgwSeeds.TemplateExtender.GroupBannerImageService.StrapLineTag)</h1>
24 <h2 class="second-line truncate-text" data-lines-xs="1" data-lines-sm="1" data-lines-md="1" data-lines-lg="1" style="color:@colour; overflow-wrap: break-word;">@GetString(PgwSeeds.TemplateExtender.GroupBannerImageService.StrapLine2Tag)</h2>
25 </div>
26 </div>
27 </div>
28 </div>
29 }
30 </div>
31 </div>
32 }
33
34 @RenderBanner(GetString("Ecom:Product.CategoryField.SeedsNZ_Common.CatalogColour.Value"))
35
36 <div class="container product-detail">
37
38
39 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
40
41
42 @RenderNavigation(new
43 {
44 id = "breadcrumbs",
45 template = @"..\Navigation\breadcrumb.xslt",
46 expandmode="Pathonly"
47 })
48 <div class="product-head wrap-md-offset-1-leftright">
49 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
50 @using PgwSeeds.SeedsNZ
51 @using PgwSeeds.Common
52
53 @helper DisplayProductTitleAndLogo(Dictionary<string, object> product)
54 {
55
56
57
58 var title = product.GetString("Ecom:Product:Field.Title.Value");
59 var subtitle = product.GetString("Ecom:Product:Field.Subtitle.Value");
60 var subtitleColor = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.CatalogColour.Value");
61 var primaryLogo = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.PrimaryLogo.Value");
62 primaryLogo = !string.IsNullOrWhiteSpace(primaryLogo) ? primaryLogo.SmallImage() : string.Empty;
63 var primaryLogoAltText = "";
64 var secondaryLogo = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.SecondaryLogo.Value");
65 var secondaryLogoAltText = "";
66 bool promote = product.GetBoolean("Ecom:Product.CategoryField.SeedsNZ_Common.PromoteAsNew.Value");
67
68 <div class="row">
69 <div class="col-xs-12 col-sm-6 product-title-wrap">
70 <div class="va-middle">
71 <h1>@title </h1>
72 <h2 class="product-subtitle" style="color:@subtitleColor">
73 @if (!string.IsNullOrWhiteSpace(subtitle))
74 {
75 @subtitle
76 }
77 </h2>
78 </div>
79 <div class="va-middle promo-tags-wrap pull-right-xs-max">
80 @if (!string.IsNullOrWhiteSpace(secondaryLogo))
81 {
82 <img src="@secondaryLogo" alt="@secondaryLogoAltText">
83 }
84 </div>
85 @if (promote)
86 {
87 <div class="va-middle promo-tags-wrap pull-right-xs-max">
88 <i class="sprite-icon sprite-icon-new" title="New"></i>
89 </div>
90 }
91 <div class="clearfix"></div>
92 </div>
93 <div class="col-xs-12 col-sm-6">
94 <div class="product-logo-wrapper text-right-sm">
95 @if (!string.IsNullOrWhiteSpace(primaryLogo))
96 {
97 <img src="@primaryLogo" alt="@primaryLogoAltText">
98 }
99
100 </div>
101 </div>
102 </div>
103 }
104 @using Dynamicweb.Core
105 @using Dynamicweb.Ecommerce.Products
106 @using Dynamicweb.Ecommerce.Variants
107 @using Dynamicweb.Rendering;
108 @using PgwSeeds.SeedsNZ
109 @using PgwSeeds.Common
110
111 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
112
113 @functions {
114 private string SetDaysToGrazing(Dictionary<string, object> product)
115 {
116 string daysToGrazingFrom = product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.DaysToGrazingFrom.Value").ToString();
117 string daysToGrazingTo = product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.DaysToGrazingTo.Value").ToString();
118
119 if (daysToGrazingTo.IsNotNullOrEmpty() && daysToGrazingFrom.IsNotNullOrEmpty())
120 {
121 return $"From {daysToGrazingFrom} to {daysToGrazingTo}";
122 }
123 return null;
124 }
125
126 private string SetHeadingDateText(Dictionary<string, object> product)
127 {
128 string headingDate = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.HeadingDate.Value");
129 string headingDateNote = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.HeadingDateNote.Value");
130
131 if (headingDate.IsNotNullOrEmpty() && headingDateNote.IsNotNullOrEmpty())
132 {
133 return $"{headingDate} - {headingDateNote}";
134 }
135 if (headingDate.IsNullOrEmpty() && headingDateNote.IsNotNullOrEmpty())
136 {
137 return headingDateNote;
138 }
139 if (headingDateNote.IsNullOrEmpty() && headingDate.IsNotNullOrEmpty())
140 {
141 return headingDate;
142 }
143 return null;
144 }
145 }
146
147
148 @helper DisplayFeatureAndBenefits(Dictionary<string, object> product, List<RazorTemplateBase<RazorTemplateModel<Template>>.LoopItem> variantGroupList)
149 {
150
151 var productService = new ProductService();
152 var variantService = new VariantService();
153
154 var keyFeatures = product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.KeyFeatures.Value");
155
156 string sowingRate = product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.SowingRate.Value").ToString().IsNotNullOrEmpty() ?
157 product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.SowingRate.Value") + " kg/ha" : null;
158
159 string daysToGrazing = SetDaysToGrazing(product);
160
161 string growingSeasons = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.GrowingSeason.Value");
162
163 string grazingSeasons = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.GrazingSeasons.Value");
164
165 string potentialYield = product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.PotentialYield.Value").ToString().IsNotNullOrEmpty() ?
166 Convert.ToInt32(product.GetValue("Ecom:Product.CategoryField.SeedsNZ_Common.PotentialYield.Value")).ToString("N0") + " kgDM/ha" : null;
167
168 string utilisation = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.Utilisation.Value");
169
170 string headingDateText = SetHeadingDateText(product);
171
172 string ploidy = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.Ploidy.Value");
173
174 var enterpriseTypeIconLookup = new Dictionary<string, string>() {
175
176 { "Sheep", KnownImageFiles.SheepEnterpriseType },
177 { "Beef", KnownImageFiles.BeefEnterpriseType },
178 { "Dairy", KnownImageFiles.DairyEnterpriseType },
179 { "Deer", KnownImageFiles.DeerEnterpriseType }
180
181 };
182
183 var endophyteNames = new List<string> { "AR37", "AR1", "Endo-5", "Max-P", "High-Endophyte", "Low-Endophyte", "Standard-Endophyte", "Without-Endophyte", "Blank-Endophyte" };
184 var varientgroup = variantGroupList.FirstOrDefault(x => x.GetString("Ecom:VariantGroup.Name") == "SeedsNZ_Endophyte");
185
186 string baseEnterpriseTypes = product.GetString("Ecom:Product.CategoryField.SeedsNZ_Common.EnterpriseType.Value.Clean");
187 string[] baseProductEnterpriseTypeList = baseEnterpriseTypes.Split(',');
188
189
190
191 <div class="row features-benefits-wrap">
192 <div class="col-md-6 rte">
193 @* Key Features *@
194 @keyFeatures
195 </div>
196 <div class="col-md-6 product-tags-wrap">
197 @* Enterprise Types - No Endophytes*@
198 @if (varientgroup == null)
199 {
200 if (baseEnterpriseTypes.IsNotNullOrEmpty())
201 {
202 <div class="farm-types-wrap no-margin-sm-row">
203 <div class="farm-type-wrap">
204 <div class="row row-same-height">
205 <div class="col-xs-3 farm-type-name text-uppercase col-same-height">
206 <span class="truncate-text" data-lines-sm="1" data-lines-md="1">Farm Type</span>
207 </div>
208 <div class="col-xs-7 col-md-7 farm-type-animals col-same-height">
209 <div class="clearfix">
210 @foreach (var enterpriseType in baseProductEnterpriseTypeList)
211 {
212 string iconPath;
213 if (enterpriseTypeIconLookup.TryGetValue(enterpriseType, out iconPath))
214 {
215 @System.IO.File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath(iconPath))
216 }
217 }
218 </div>
219 </div>
220
221 <div class="col-xs-2 col-md-2 farm-type-logo col-same-height" style="height: 51px;">
222 </div>
223 </div>
224 </div>
225 </div>
226 }
227 }
228 @* Enterprise Types - Endophytes*@
229 else
230 {
231 var baseProductId = product.GetString("Ecom:Product.ID");
232 var baseProduct = productService.GetProductById(baseProductId, "", true);
233 var baseProductAndVariants = productService.GetProductsAndVariantsByProduct(baseProduct);
234 var allVariants = baseProductAndVariants.Where(x => x.VariantId.IsNotNullOrEmpty());
235 <div class="farm-types-wrap no-margin-sm-row">
236 @foreach (var endophyteName in endophyteNames)
237 {
238 foreach (Product variant in allVariants)
239 {
240 string variantName = variantService.GetVariantName(variant.VariantId);
241 if (variantName == endophyteName)
242 {
243 var allVariantEnterpriseTypes = variant.GetCategoryValue("SeedsNZ_Common", "EnterpriseType");
244 string variantEnterpriseTypes = allVariantEnterpriseTypes != null ? allVariantEnterpriseTypes.ToString() : string.Empty;
245 string[] variantEnterpriseTypeList = variantEnterpriseTypes.Split(',');
246 string spriteIcon = variantName != "Blank-Endophyte" ? "sprite-icon sprite-icon-" + variantName.ToLower() : string.Empty;
247
248
249 <div class="farm-type-wrap">
250 <div class="row row-same-height">
251 <div class="col-xs-3 farm-type-name text-uppercase col-same-height" style="height: 51px;">
252 <span class="truncate-text" data-lines-sm="1" data-lines-md="1">Farm Type</span>
253 </div>
254 <div class="col-xs-7 col-md-7 farm-type-animals col-same-height" style="height: 51px;">
255 <div class="clearfix">
256 @foreach (var variantEnterpriseType in variantEnterpriseTypeList)
257 {
258 string iconPath;
259 if (enterpriseTypeIconLookup.TryGetValue(variantEnterpriseType, out iconPath))
260 {
261 @System.IO.File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath(iconPath))
262 }
263 }
264 </div>
265 </div>
266 <div class="col-xs-2 col-md-2 farm-type-logo col-same-height" style="height: 51px;">
267 <i class="@spriteIcon" title="@variantName"></i>
268 </div>
269 </div>
270 </div>
271 }
272 }
273 }
274 </div>
275 }
276
277 @* Product Categories Fields *@
278 <ul class="list-unstyled">
279 @if (sowingRate.IsNotNullOrEmpty())
280 {
281 <li>
282 <span class="name">Sowing Rate</span>
283 <span class="value">@sowingRate</span>
284 </li>
285 }
286
287 @if (daysToGrazing.IsNotNullOrEmpty())
288 {
289 <li>
290 <span class="name">Days to Grazing</span>
291 <span class="value">@daysToGrazing</span>
292 </li>
293 }
294
295 @if (growingSeasons.IsNotNullOrEmpty())
296 {
297 <li>
298 <span class="name">Growing Seasons</span>
299 <span class="value">@growingSeasons.Replace(",", ", ")</span>
300 </li>
301 }
302
303 @if (grazingSeasons.IsNotNullOrEmpty())
304 {
305 <li>
306 <span class="name">Grazing Seasons</span>
307 <span class="value">@grazingSeasons.Replace(",", ", ")</span>
308 </li>
309 }
310
311 @if (potentialYield.IsNotNullOrEmpty())
312 {
313 <li>
314 <span class="name">Potential Yield</span>
315 <span class="value">@potentialYield</span>
316 </li>
317 }
318
319 @if (utilisation.IsNotNullOrEmpty())
320 {
321 <li>
322 <span class="name">Utilisation</span>
323 <span class="value">@utilisation%</span>
324 </li>
325 }
326
327 @if (headingDateText.IsNotNullOrEmpty())
328 {
329 <li>
330 <span class="name">Heading Date</span>
331 <span class="value">@headingDateText</span>
332 </li>
333 }
334
335 @if (ploidy.IsNotNullOrEmpty())
336 {
337 <li>
338 <span class="name">Tetraploid/Diploid</span>
339 <span class="value">@ploidy</span>
340 </li>
341 }
342 </ul>
343 </div>
344 </div>
345 }
346 @DisplayProductTitleAndLogo(this.Values)
347 @DisplayFeatureAndBenefits(this.Values, GetLoop("VariantGroups"))
348 </div>
349 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
350
351 @using PgwSeeds.SeedsNZ
352 @using PgwSeeds.Common
353
354
355 @helper RenderComponent(Dictionary<string, object> product, string titleKey, string imagePathKey, string imageAlttextKey, string contentKey, string soilFertilityKey = "",
356 string pastureLifeKey = "", string grazingMethodKey = "", string numberOfGrazingkey = "")
357 {
358 var title = product.GetString(titleKey);
359 var image = product.GetString(imagePathKey);
360 var imageAltText = product.GetString(imageAlttextKey);
361 var content = product.GetString(contentKey);
362 var grazingMethod = product.GetString(grazingMethodKey);
363 var numberOfGrazing = product.GetString(numberOfGrazingkey);
364 var soilFertility = product.GetString(soilFertilityKey);
365 var pastureLife = product.GetString(pastureLifeKey);
366
367 <div class="text-img-component-wrap">
368 @if (!string.IsNullOrWhiteSpace(title))
369 {
370 <h2>@title</h2>
371 }
372
373 @if (!string.IsNullOrWhiteSpace(image))
374 {
375 <a class="mfp-image popup-link" href="@image.LargeImage()">
376
377 <img src="@image.SmallImage()" class="img-responsive" alt="@imageAltText">
378
379 <i class="glyphicon glyphicon-fullscreen"></i>
380 </a>
381 }
382
383 @if (!string.IsNullOrWhiteSpace(content))
384 {
385 <div class="rte">
386 @content
387 </div>
388 }
389
390 @if (!string.IsNullOrWhiteSpace(soilFertility))
391 {
392 <ul class="list-unstyled">
393 <li>
394 <span class="name">Soil Fertility</span>
395 <span class="value">@soilFertility</span>
396 </li>
397 </ul>
398 }
399
400 @if (!string.IsNullOrWhiteSpace(pastureLife))
401 {
402 <ul class="list-unstyled">
403 <li>
404 <span class="name">Pasture Life</span>
405 <span class="value">@pastureLife</span>
406 </li>
407 </ul>
408 }
409
410 @if (!string.IsNullOrWhiteSpace(grazingMethod))
411 {
412 <ul class="list-unstyled">
413 <li>
414 <span class="name">Grazing Method</span>
415 <span class="value">@grazingMethod</span>
416 </li>
417 </ul>
418 }
419
420 @if (!string.IsNullOrWhiteSpace(numberOfGrazing))
421 {
422 <ul class="list-unstyled">
423 <li>
424 <span class="name">Number of Grazings</span>
425 <span class="value">@numberOfGrazing</span>
426 </li>
427 </ul>
428 }
429
430 </div>
431 }
432
433
434 @helper DisplayInfoWrap(Dictionary<string, object> product)
435 {
436
437 var displayDryMatter = product.GetBoolean("DisplayDryMatter");
438 var dryMatterPosition = product.GetString("DryMatterPosition");
439 var displaySowingEstabilishment = product.GetBoolean("DisplaySowingEstabilishment");
440 var sowingEstabilishmentPosition = product.GetString("SowingEstPosition");
441 var displayGrazingManagement = product.GetBoolean("DisplayGrazingManagement");
442 var grazingManagementPosition = product.GetString("GrazingManagementPosition");
443 var displayMixSuitability = product.GetBoolean("DisplayMixSuitability");
444 var mixSuitabilityPosition = product.GetString("MixSuitabilityPosition");
445 var productDescription = product.GetString("Ecom:Product.LongDescription");
446
447
448 <div class="info-wrap no-margin-sm-row wrap-md-offset-1-leftright">
449 <div class="row">
450 <div class="col-sm-6 col-xs-12">
451 @if (!string.IsNullOrWhiteSpace(productDescription))
452 {
453 <div class="product-desc">
454 @productDescription
455 </div>
456 }
457
458 @if (displayDryMatter && dryMatterPosition == "Left")
459 {
460 @RenderComponent(product, "DryMatterProductionTitle", "DryMatterImage", "DryMatterAltText", "DryMatterContent");
461 }
462
463 @if (displaySowingEstabilishment && sowingEstabilishmentPosition == "Left")
464 {
465 @RenderComponent(product, "SowingEstTitle", "SowingEstImage", "SowingEstAltText", "SowingEstContent", "SoilFertility", "PastureLife");
466 }
467
468 @if (displayGrazingManagement && grazingManagementPosition == "Left")
469 {
470 @RenderComponent(product, "GrazingManagementTitle", "GrazingManagementImage", "GrazingManagementImageAltText", "GrazingManagementContent", "", "", "GrazingManagementMethod", "NumberOfGrazings");
471 }
472
473 @if (displayMixSuitability && mixSuitabilityPosition == "Left")
474 {
475 @RenderComponent(product, "MixSuitabilityTitle", "MixSuitabilityImage", "MixSuitabilityImageAltText", "MixSuitabilityContent");
476 }
477
478 </div>
479
480 <div class="col-sm-6 col-xs-12">
481 @if (displayDryMatter && dryMatterPosition == "Right")
482 {
483 @RenderComponent(product, "DryMatterProductionTitle", "DryMatterImage", "DryMatterAltText", "DryMatterContent");
484 }
485
486 @if (displaySowingEstabilishment && sowingEstabilishmentPosition == "Right")
487 {
488 @RenderComponent(product, "SowingEstTitle", "SowingEstImage", "SowingEstAltText", "SowingEstContent", "SoilFertility", "PastureLife");
489 }
490
491 @if (displayGrazingManagement && grazingManagementPosition == "Right")
492 {
493 @RenderComponent(product, "GrazingManagementTitle", "GrazingManagementImage", "GrazingManagementImageAltText", "GrazingManagementContent", "", "", "GrazingManagementMethod", "NumberOfGrazings");
494 }
495
496 @if (displayMixSuitability && mixSuitabilityPosition == "Right")
497 {
498 @RenderComponent(product, "MixSuitabilityTitle", "MixSuitabilityImage", "MixSuitabilityImageAltText", "MixSuitabilityContent");
499 }
500
501 </div>
502 </div>
503 </div>
504 }
505 @DisplayInfoWrap(this.Values)
506 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
507
508 @{
509 string productid = GetString("Ecom:Product.ID");
510 var filterValue = "Product = \"p_" + productid + "\" or Product contains \"p_" + productid + ":\" or Product contains \"p_" + productid + ",\"";
511 }
512
513 @RenderItemList(new {
514 ItemType = "SeedsNZ_Testimonial_ItemList",
515 ListSourceType = "NamedList",
516 TargetNamedList = "Testimonials",
517 NamedListPageID = 301,
518 Filter = @filterValue,
519 ListTemplate = "ItemPublisher/List/Testimonials_List.cshtml",
520 ListPageSize = "100",
521 })
522
523 @{
524 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
525
526
527 @helper RenderCallToAction(string groupOrProductId)
528 {
529
530 if (!string.IsNullOrWhiteSpace(groupOrProductId))
531 {
532
533
534 var productOrGroupFilterValue = "ProductOrGroup = \"" + groupOrProductId + "\" or ProductOrGroup contains \"" + groupOrProductId + ":\" or ProductOrGroup contains \"" + groupOrProductId + ",\" or ProductOrGroup ends with \"" + groupOrProductId + "\"";
535
536 @RenderItemList(new
537 {
538 ItemType = "SeedsNZ_CTA",
539 ListSourceType = "NamedList",
540 TargetNamedList = "CTA List",
541 NamedListPageID = GetPageIdByNavigationTag(PgwSeeds.SeedsNZ.NavigationTags.Home),
542 Filter = productOrGroupFilterValue,
543 ListTemplate = "ItemPublisher/List/CTA_List.cshtml",
544 ListPageSize = "3"
545 })
546 }
547
548
549 }
550
551
552 <div class="related-tiles-wrap row row-same-height">
553 @RenderCallToAction($"p_{GetString("Ecom:Product.ID")}")
554 </div>
555 }
556 </div>
557