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_959bc0fb1d9a42eaa757401d8f437536.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)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

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

Sub group 9

Travel Organiser 3in1 – All Things SG RED
Travel Organiser 3in1 – All Things SG RED
Wong Si En Sarah

Travel Organiser 3in1 – All Things SG RED

$20.00 InStock

Variant Name

Travel Organiser 3in1 – All Things SG RED, Red

Variant Price

$20.00

Variant Name

Travel Organiser 3in1 – All Things SG RED, Blue

Variant Price

$20.00

Travel Organiser 3in1 – SuperTrees
Travel Organiser 3in1 – SuperTrees
Wong Si En Sarah

Travel Organiser 3in1 – SuperTrees

$22.00 InStock

Variant Name

Travel Organiser 3in1 – SuperTrees, Red

Variant Price

$22.00

Variant Name

Travel Organiser 3in1 – SuperTrees, Blue

Variant Price

$22.00

Travel Organiser 3in1 – SuperTrees
Travel Organiser 3in1 – SuperTrees
Wong Si En Sarah

Travel Organiser 3in1 – SuperTrees

$20.00 InStock

Variant Name

Travel Organiser 3in1 – SuperTrees, Red

Variant Price

$20.00

Variant Name

Travel Organiser 3in1 – SuperTrees, Blue

Variant Price

$20.00

Foldable Box
Foldable Box
NA

Foldable Box

$15.00 InStock
Ankle Socks - Unicorn
Ankle Socks - Unicorn
Tay Jun-Yi

Ankle Socks - Unicorn

$12.00 InStock
Large Shopping Bag – Monstera Green
Large Shopping Bag – Monstera Green
Ng Li Jie

Large Shopping Bag – Monstera Green

$15.00 InStock
Ankle Socks – Cha Siew Bao
Ankle Socks – Cha Siew Bao
Fong Bok Loong

Ankle Socks – Cha Siew Bao

$12.00 InStock
Tea Towel - Black Adipocytes
Tea Towel - Black Adipocytes
Ng Li Jie

Tea Towel - Black Adipocytes

$18.00 InStock
Ankle Socks - Sushi
Ankle Socks - Sushi
Kong Kai Keet

Ankle Socks - Sushi

$12.00 InStock
Notebook Organiser – Spiral Stairs
Notebook Organiser – Spiral Stairs
Seow Yeh Yun Selena

Notebook Organiser – Spiral Stairs

$45.00 InStock
Showing 10 out of 396 products
LOAD MORE PRODUCTS

Leave a message

Let your favorite artist know how much you appreciate their work.

Shop by categories

By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Statistics and Marketing