Gender

Color

Gear

Populære produkter

Product with many images and files
Product with many images and files

Product with many images and files

000001x
$500.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
Copy of Product with many images and files
Copy of Product with many images and files

Copy of Product with many images and files

000002
$500.00 OutOfStock
Out of stock. 6 months delivery.
You will be contacted when the product is back in stock.
2 out of 2 products
Product with many images and files

Product with many images and files

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_138bf54c8c9e475cacf61737f8339923.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
000001x

Out of stock.

  • Bike type: Road bike, Electric bike
  • Gender: Unisex
  • Wheel size: 26"
$500.00

Out of stock.

$500.00
Copy of Product with many images and files

Copy of Product with many images and files

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_138bf54c8c9e475cacf61737f8339923.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
000002

Out of stock.

$500.00

Out of stock.

$500.00
2 out of 2 products
Product with many images and files

Product with many images and files

000001x

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_138bf54c8c9e475cacf61737f8339923.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
  • Bike type: roadbike, electric
  • Gender: unisex
  • Wheel size: 26

Out of stock.

$500.00
Copy of Product with many images and files

Copy of Product with many images and files

000002

Out of stock.

Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_138bf54c8c9e475cacf61737f8339923.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125

Out of stock.

$500.00
2 out of 2 products
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_138bf54c8c9e475cacf61737f8339923.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
Error executing template "Designs/Swift/Components/EcommerceBadge.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_138bf54c8c9e475cacf61737f8339923.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 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits ViewModelTemplate<ProductViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Content 4 @using Dynamicweb.Rendering 5 @using Dynamicweb.Ecommerce.ProductCatalog 6 7 @{ 8 string sizeCssClass = GetViewParameter("size") != null ? GetViewParameter("size").ToString() : ""; 9 string newBadgeCssClassName = GetViewParameter("newBadgeCssClassName") != null ? GetViewParameterString("newBadgeCssClassName").Trim().ToLower() : ""; 10 bool newBadgeEnabled = newBadgeCssClassName != "" && newBadgeCssClassName != "none" ? true : false; 11 12 var campaignBadgesValues = GetViewParameter("campaignBadgesValues") != null ? 13 GetViewParameter("campaignBadgesValues").GetType() == typeof(System.String) ? GetViewParameterString("campaignBadgesValues").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() : GetViewParameter("campaignBadgesValues") as List<string> : new List<string>(); 14 15 } 16 17 18 @if (Model.Discount.Price != 0) 19 { 20 string saleBadgeCssClassName = GetViewParameter("saleBadgeCssClassName") != null ? GetViewParameterString("saleBadgeCssClassName").Trim().ToLower() : ""; 21 bool saleBadgeEnabled = saleBadgeCssClassName != "" && saleBadgeCssClassName != "none" ? true : false; 22 23 if (saleBadgeEnabled) 24 { 25 string saleBadgeType = GetViewParameter("saleBadgeType") != null ? GetViewParameterString("saleBadgeType") : "amount"; 26 string title = saleBadgeType == "amount" ? "-" + Model.Discount.PriceFormatted : ""; 27 title = saleBadgeType == "percentage" ? "-" + Math.Round((Model.Discount.Price / Model.PriceBeforeDiscount.Price) * 100) + "%" : title; 28 29 string hideAutoLabel = ""; 30 if (saleBadgeType == "amount" || saleBadgeType == "percentage") 31 { 32 hideAutoLabel = "badge-no-label"; 33 } 34 35 <span class="@sizeCssClass"><span class="badge @hideAutoLabel @(saleBadgeCssClassName) rounded-0">@title</span></span> 36 } 37 } 38 39 @if (newBadgeEnabled) 40 { 41 DateTime createdDate = Model.Created.Value; 42 double newPublicationDays = GetViewParameter("newPublicationDays") != null ? GetViewParameterDouble("newPublicationDays") : 0; 43 44 if ((newPublicationDays == 0) || (createdDate.AddDays(newPublicationDays) > DateTime.Now)) 45 { 46 <span class="@sizeCssClass"><span class="badge @newBadgeCssClassName rounded-0"></span></span> 47 } 48 } 49 50 @if (campaignBadgesValues.Any()) 51 { 52 Dictionary<string, ParagraphInfoViewModel> badgeConfigurations; 53 54 if (Dynamicweb.Context.Current.Items.Contains("badgeConfigurations")) 55 { 56 badgeConfigurations = (Dictionary<string, ParagraphInfoViewModel>)Dynamicweb.Context.Current.Items["badgeConfigurations"]; 57 } 58 else 59 { 60 var badgesPage = Pageview.AreaSettings.GetLink("EcommerceBadgesPage") != null ? Pageview.AreaSettings.GetLink("EcommerceBadgesPage").PageId : 0; 61 var allBadges = badgesPage != 0 ? Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(badgesPage) : null; 62 63 badgeConfigurations = new Dictionary<string, ParagraphInfoViewModel>(); 64 foreach (Paragraph badge in allBadges) 65 { 66 var paragraphviewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreateParagraphInfoViewModel(badge); 67 string cssClassName = paragraphviewModel.Item.GetString("CssClassName").Trim().ToLower(); 68 if (!badgeConfigurations.ContainsKey(cssClassName)) 69 { 70 badgeConfigurations.Add(cssClassName, paragraphviewModel); 71 } 72 } 73 Dynamicweb.Context.Current.Items.Add("badgeConfigurations", badgeConfigurations); 74 } 75 76 int badgesCount = 0; 77 if (badgeConfigurations.Any()) 78 { 79 foreach (string campaign in campaignBadgesValues) 80 { 81 if (!string.IsNullOrEmpty(campaign)) 82 { 83 84 FieldValueViewModel availableCampaignsObject; 85 Model.ProductFields.TryGetValue("Campaign", out availableCampaignsObject); 86 87 if (availableCampaignsObject != null) 88 { 89 string campaignType = string.Empty; 90 91 if (badgeConfigurations.ContainsKey(campaign)) 92 { 93 ParagraphInfoViewModel paragraphviewModel; 94 if (badgeConfigurations.TryGetValue(campaign, out paragraphviewModel)) 95 { 96 campaignType = paragraphviewModel.Item.GetRawValueString("CampaignType"); 97 } 98 } 99 100 List<FieldOptionValueViewModel> availableCampaigns = (List<FieldOptionValueViewModel>)availableCampaignsObject.Value; 101 102 foreach (FieldOptionValueViewModel availableOption in availableCampaigns) 103 { 104 if (campaignType == availableOption.Value) 105 { 106 <span class="@sizeCssClass"><span class="badge @campaign.Trim().ToLower() rounded-0"></span></span> 107 badgesCount++; 108 break; 109 } 110 } 111 } 112 } 113 } 114 } 115 116 if (badgesCount == 0 && Pageview.IsVisualEditorMode) 117 { 118 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 119 } 120 } 121 else if (Pageview.IsVisualEditorMode) 122 { 123 <span class="@sizeCssClass"><span class="badge bg-success text-light rounded-0">@Translate("Badge example")</span></span> 124 } 125
2 out of 2 products