Forks

Error executing template "Designs/Swift/Paragraph/Swift_ProductListGroupImage.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_53c3f5be3e4446229b9c9ef45f912f5b.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 68
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 14
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 805

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Frontend.Navigation 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 @using Dynamicweb.Environment 5 @using Dynamicweb.Frontend 6 7 @{ 8 ProductListViewModel productList = null; 9 if (Dynamicweb.Context.Current.Items.Contains("ProductList")) 10 { 11 productList = (ProductListViewModel)Dynamicweb.Context.Current.Items["ProductList"]; 12 } 13 else if (Pageview.Page.Item["DummyProductGroup"] != null && Pageview.IsVisualEditorMode) 14 { 15 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 16 ProductListViewModel groupList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 17 18 if (groupList?.Products is object) 19 { 20 productList = groupList; 21 } 22 } 23 } 24 25 @if (productList is object) { 26 string groupImage = productList?.Group?.Assets != null ? productList.Group.Assets.FirstOrDefault(x => x.Name == "LargeImage").Value : string.Empty; 27 if (groupImage.StartsWith("/") && !groupImage.StartsWith("/Files", StringComparison.OrdinalIgnoreCase)) 28 { 29 groupImage = $"/Files{groupImage}"; 30 } 31 32 string groupName = productList?.Group?.Name != null ? productList.Group.Name : string.Empty; 33 34 string ratio = Model.Item.GetRawValueString("ImageAspectRatio", string.Empty); 35 ratio = ratio != "0" ? ratio : string.Empty; 36 string ratioCssClass = ratio != string.Empty && ratio != "fill" ? " ratio" : string.Empty; 37 string ratioVariable = ratio != string.Empty ? "style=\"--bs-aspect-ratio: " + ratio + "\"" : string.Empty; 38 string fillClass = ratio == "fill" ? " h-100" : ""; 39 40 var parms = new Dictionary<string, object>(); 41 parms.Add("loading", "lazy"); 42 parms.Add("columns", Model.GridRowColumnCount); 43 44 if (ratio == "fill") { 45 parms.Add("cssClass", "w-100 h-100"); 46 } 47 else 48 { 49 parms.Add("cssClass", "mw-100 mh-100"); 50 } 51 52 parms.Add("style", string.Empty); 53 parms.Add("alt", groupName); 54 55 if (!string.IsNullOrEmpty(groupImage)) { 56 <div class="item_@Model.Item.SystemName.ToLower()"> 57 <figure class="m-0@(ratioCssClass)@(fillClass)" @ratioVariable> 58 @RenderPartial("Components/Image.cshtml", new FileViewModel { Path = groupImage }, parms) 59 </figure> 60 </div> 61 } else if (Pageview.IsVisualEditorMode) { 62 <div class="alert alert-dark m-0" role="alert"> 63 <span>@Translate("Product list group image: The image will be shown here, if any")</span> 64 </div> 65 } 66 } else if (Pageview.IsVisualEditorMode) 67 { 68 <div class="alert alert-dark m-0" role="alert"> 69 <span>@Translate("Product list group image: The image will be shown here, if any")</span> 70 </div> 71 } 72 73

Color

Populære produkter

Fox Racing Shox 38 Factory 29 GRIP2
Fox Racing Shox 38 Factory 29 GRIP2

Fox Racing Shox 38 Factory 29 GRIP2

fox101
£140.75 InStock
918 Many in stock. 2-3 days delivery.
Fox Racing Shox 38 Performance Elite
Fox Racing Shox 38 Performance Elite

Fox Racing Shox 38 Performance Elite

spe104
£129.53 InStock
990 Many in stock. 2-3 days delivery.
RockShox Lyrik Ultimate 29" RC2
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2

roc101
£106.69 InStock
1000 Many in stock. 2-3 days delivery.
RockShox Lyrik Ultimate 29" RC2 (with variants)
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants)

roc102
RockShox Lyrik Ultimate 29

Variant Name

RockShox Lyrik Ultimate 29" RC2 (with variants), Black

Variant Price

£106.69

RockShox Lyrik Ultimate 29

Variant Name

RockShox Lyrik Ultimate 29" RC2 (with variants), Red

Variant Price

£106.69

£106.69 InStock
1000 Many in stock. 2-3 days delivery.
RockShox Lyrik Ultimate 29" RC2 (with variants)
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants)

roc101
RockShox Lyrik Ultimate 29

Variant Name

RockShox Lyrik Ultimate 29" RC2 (with variants), Black

Variant Price

£106.69

RockShox Lyrik Ultimate 29

Variant Name

RockShox Lyrik Ultimate 29" RC2 (with variants), Red

Variant Price

£106.69

£106.69 InStock
1000 Many in stock. 2-3 days delivery.
RockShox Lyrik Ultimate 29" RC2 (with variants)
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants)

roc101
RockShox Lyrik Ultimate 29

Variant Name

RockShox Lyrik Ultimate 29" RC2 (with variants), Black

Variant Price

£106.69

RockShox Lyrik Ultimate 29

Variant Name

RockShox Lyrik Ultimate 29" RC2 (with variants), Red

Variant Price

£106.69

£106.69 InStock
1000 Many in stock. 2-3 days delivery.
6 out of 6 products
Fox Racing Shox 38 Factory 29 GRIP2

Fox Racing Shox 38 Factory 29 GRIP2

fox101

918 Many in stock.

£140.75

918 Many in stock.

£140.75
Fox Racing Shox 38 Performance Elite

Fox Racing Shox 38 Performance Elite

spe104

990 Many in stock.

£129.53

990 Many in stock.

£129.53
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2

roc101

1000 Many in stock.

£106.69

1000 Many in stock.

£106.69
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants)

roc102

1000 Many in stock.

£106.69

1000 Many in stock.

£106.69
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants) (Red)

roc101

1000 Many in stock.

£106.69

1000 Many in stock.

£106.69
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants) (Black)

roc101

1000 Many in stock.

£106.69

1000 Many in stock.

£106.69
6 out of 6 products
Fox Racing Shox 38 Factory 29 GRIP2

Fox Racing Shox 38 Factory 29 GRIP2

fox101

918 Many in stock.

918 Many in stock.

£140.75
Fox Racing Shox 38 Performance Elite

Fox Racing Shox 38 Performance Elite

spe104

990 Many in stock.

990 Many in stock.

£129.53
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2

roc101

1000 Many in stock.

1000 Many in stock.

£106.69
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants)

roc102

1000 Many in stock.

1000 Many in stock.

£106.69
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants) (Red)

roc101

1000 Many in stock.

1000 Many in stock.

£106.69
RockShox Lyrik Ultimate 29

RockShox Lyrik Ultimate 29" RC2 (with variants) (Black)

roc101

1000 Many in stock.

1000 Many in stock.

£106.69
6 out of 6 products
6 out of 6 products
By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Statistics and Marketing