0 Producten
{"item_name":"GEYSER hybrid jacket | dames","item_id":"PG11032","price":"71.05","item_brand":"ID","item_category":"50","item_variant":"Marine"}
{"item_name":"YES Active T-shirt","item_id":"PROD1029","price":"10.60","item_brand":"ID","item_category":"10","item_variant":"Donker koningsblauw"}
No. 0896 Gewatteerde jas | stretch
No. 0896 Gewatteerde jas | stretch
€ 81,75 ( excl. btw )
+ 3 kleur
{"item_name":"Gewatteerde jas | stretch","item_id":"PROD1299","price":"81.75","item_brand":"ID","item_category":"50","item_variant":"Zwart"}
No. 0366 PRO Wear cardigan | sweat
No. 0366 PRO Wear cardigan | sweat
€ 56,70 ( excl. btw )
+ 5 kleur
{"item_name":"PRO Wear cardigan | sweat","item_id":"PROD1314","price":"56.70","item_brand":"PW","item_category":"30","item_variant":"Lichtblauw"}
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.cshtml" System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.get_ImagePrimary() at Co3.ID.Dw.Services.ProductService.GetVariantImages(IdentityProduct product, KeyValuePair`2 variantGroup, Boolean includeProduct) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.GetVariantCombinationsPrimaryImages(Boolean includeProduct) at CompiledRazorTemplates.Dynamic.RazorEngine_c9104b7032364792850940d63ac58d38.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 74 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 ViewModelTemplate< Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct > 2 @using Co3.Espresso.Base.Extensions 3 @using Co3.Espresso.Website.Models.FrontEnd.Ecommerce 4 @using Co3.Espresso.Website.Models.FrontEnd.Elements 5 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 6 @using Co3.Espresso.Website.Models.FrontEnd.Settings 7 @using Co3.Espresso.Website.Services 8 @using Co3.ID.Dw.Helpers 9 @using Co3.ID.Dw.Models.Frontend.Ecommerce 10 @using Co3.ID.Dw.Models.Frontend.Users 11 @using Dynamicweb.Rendering 12 @using Co3.ID.Dw.Services 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Security.UserManagement 15 @using RenderingService = Co3.Espresso.Website.Services.RenderingService 16 17 @{ 18 string productName = Model.Name; 19 string productNumber = Model.Number; 20 21 User currentUser = PageView.Current().User; 22 ShopType shopContext = SiteContext.CurrentSiteContext(); 23 bool isCustomerShop = (PageView.Current().Area.Item["IsCustomerShop"] != null && (bool)PageView.Current().Area.Item["IsCustomerShop"] == true); 24 string discountGroup = currentUser != null ? currentUser.GetCustomFieldValue< string >( "DiscountGroup" ) : string.Empty; 25 bool showPrices = !isCustomerShop || UserContext.Current.CustomerShop != null && UserContext.Current.CustomerShop.Settings.ShowPrices == true; 26 27 string hoverImage = string.Empty; 28 29 if (!isCustomerShop && Model.ListItemHoverImage != null) 30 { 31 hoverImage = Model.ListItemHoverImage.Medium; 32 } 33 34 bool showBrands = Model.BrandCode == "SS" || Model.BrandCode == "GEYSER" || Model.BrandCode == "PRO WEAR"; 35 } 36 37 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 38 @if (showBrands) 39 { 40 <div class="productlist-brand-wrapper"> 41 @if ( Model.BrandCode == "SS" ) 42 { 43 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 44 } 45 @if ( Model.BrandCode == "GEYSER" ) 46 { 47 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 48 } 49 @if ( Model.BrandCode == "PRO WEAR" ) 50 { 51 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 52 } 53 </div> 54 } 55 56 57 <div class="productlist-label-container"> 58 @if ( Model.ProductLabels != null ) 59 { 60 foreach ( IdentityProductLabel label in Model.ProductLabels ) 61 { 62 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 63 } 64 } 65 66 </div> 67 68 <div class="e-productlist-item-container"> 69 <div class="e-productlist-item-image-container"> 70 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 71 <img alt="@Model.Name" class="e-productlist-item-image js-e-productlist-item-image" src="@Model.ImagePrimary.Medium" data-base-image="@Model.ImagePrimary.Medium" data-hover-image="@hoverImage"> 72 </a> 73 74 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 75 { 76 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 77 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 78 79 @{ 80 int variantCount = Model.VariantPrimaryImages.Count; 81 int variantCountTake = variantCount <= 5 ? 5 : 4; 82 } 83 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 84 { 85 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 86 { 87 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 88 <a href="@variantImage.Link"><span class="identity-variant-listitem-select-option-color js-identity-variant-listitem-select-option-color" style="background-image: url(@variantImage.Image.Small);" data-hover-image="@variantImage.Image.Medium"></span></a> 89 </span> 90 } 91 92 } 93 @if ( Model.VariantPrimaryImages.Count > 5 ) 94 { 95 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 96 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 97 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 98 </span> 99 } 100 </div> 101 </div> 102 103 } 104 105 </div> 106 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 107 <p class="e-productlist-item-name mb-0 list-style-d-none"> 108 <a href="@Model.Link" class="text-ellipsis"> 109 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 110 @productName 111 </a> 112 </p> 113 <p class="e-productlist-item-name mb-1 grid-style-d-none d-none"> 114 <a href="@Model.Link"> 115 <span class="d-block font-weight-bold">@Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number</span> 116 @productName 117 </a> 118 </p> 119 120 <div class="e-productlist-item-text mb-0"> 121 @RenderingService.Instance.PartialView("/eCom/ProductList/partials/list-price.cshtml", Model) 122 </div> 123 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 124 125 int variantCount = Model.VariantPrimaryImages.Count; 126 127 if ( Model.VariantPrimaryImages.Count > 1 ) { 128 <div class="d-block d-md-none"> 129 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 130 </div> 131 } 132 } 133 </div> 134 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 135 { 136 <form class="e-productlist-item-form-container d-flex justify-content-end"> 137 <a class="btn btn-primary text-white mt-0 position-relative js-identity-productlist-get-variant-matrix-modal identity-productlist-get-variant-matrix-modal-btn"> 138 <span class="identity-productlist-get-variant-matrix-modal-text"> 139 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 140 </span> 141 </a> 142 </form> 143 144 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 145 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 146 </div> 147 } 148 </div> 149 <code class="js-identity-product-data" hidden> 150 @{ 151 dynamic productImperssionClick = new 152 { 153 item_name = Model.Name, 154 item_id = Model.Id, 155 price = Model.Price.Value.ToJavaScript(), 156 item_brand = Model.BrandName, 157 item_category = Model.Category, 158 item_variant = Model.ColorVariantText 159 }; 160 @Co3.Espresso.Website.Services.JsonService.Instance.ToJson(productImperssionClick) 161 } 162 </code> 163 </div> 164
No. S661 SEVEN SEAS The cardigan | dames
No. S661 SEVEN SEAS The cardigan | dames
€ 67,85 ( excl. btw )
+ 2 kleur
{"item_name":"SEVEN SEAS The cardigan | dames","item_id":"PROD1872","price":"67.85","item_brand":"ID","item_category":"35","item_variant":"Marine"}
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.cshtml" System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.GetVariantCombinationsPrimaryImages(Boolean includeProduct) at CompiledRazorTemplates.Dynamic.RazorEngine_c9104b7032364792850940d63ac58d38.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 74 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 ViewModelTemplate< Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct > 2 @using Co3.Espresso.Base.Extensions 3 @using Co3.Espresso.Website.Models.FrontEnd.Ecommerce 4 @using Co3.Espresso.Website.Models.FrontEnd.Elements 5 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 6 @using Co3.Espresso.Website.Models.FrontEnd.Settings 7 @using Co3.Espresso.Website.Services 8 @using Co3.ID.Dw.Helpers 9 @using Co3.ID.Dw.Models.Frontend.Ecommerce 10 @using Co3.ID.Dw.Models.Frontend.Users 11 @using Dynamicweb.Rendering 12 @using Co3.ID.Dw.Services 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Security.UserManagement 15 @using RenderingService = Co3.Espresso.Website.Services.RenderingService 16 17 @{ 18 string productName = Model.Name; 19 string productNumber = Model.Number; 20 21 User currentUser = PageView.Current().User; 22 ShopType shopContext = SiteContext.CurrentSiteContext(); 23 bool isCustomerShop = (PageView.Current().Area.Item["IsCustomerShop"] != null && (bool)PageView.Current().Area.Item["IsCustomerShop"] == true); 24 string discountGroup = currentUser != null ? currentUser.GetCustomFieldValue< string >( "DiscountGroup" ) : string.Empty; 25 bool showPrices = !isCustomerShop || UserContext.Current.CustomerShop != null && UserContext.Current.CustomerShop.Settings.ShowPrices == true; 26 27 string hoverImage = string.Empty; 28 29 if (!isCustomerShop && Model.ListItemHoverImage != null) 30 { 31 hoverImage = Model.ListItemHoverImage.Medium; 32 } 33 34 bool showBrands = Model.BrandCode == "SS" || Model.BrandCode == "GEYSER" || Model.BrandCode == "PRO WEAR"; 35 } 36 37 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 38 @if (showBrands) 39 { 40 <div class="productlist-brand-wrapper"> 41 @if ( Model.BrandCode == "SS" ) 42 { 43 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 44 } 45 @if ( Model.BrandCode == "GEYSER" ) 46 { 47 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 48 } 49 @if ( Model.BrandCode == "PRO WEAR" ) 50 { 51 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 52 } 53 </div> 54 } 55 56 57 <div class="productlist-label-container"> 58 @if ( Model.ProductLabels != null ) 59 { 60 foreach ( IdentityProductLabel label in Model.ProductLabels ) 61 { 62 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 63 } 64 } 65 66 </div> 67 68 <div class="e-productlist-item-container"> 69 <div class="e-productlist-item-image-container"> 70 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 71 <img alt="@Model.Name" class="e-productlist-item-image js-e-productlist-item-image" src="@Model.ImagePrimary.Medium" data-base-image="@Model.ImagePrimary.Medium" data-hover-image="@hoverImage"> 72 </a> 73 74 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 75 { 76 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 77 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 78 79 @{ 80 int variantCount = Model.VariantPrimaryImages.Count; 81 int variantCountTake = variantCount <= 5 ? 5 : 4; 82 } 83 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 84 { 85 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 86 { 87 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 88 <a href="@variantImage.Link"><span class="identity-variant-listitem-select-option-color js-identity-variant-listitem-select-option-color" style="background-image: url(@variantImage.Image.Small);" data-hover-image="@variantImage.Image.Medium"></span></a> 89 </span> 90 } 91 92 } 93 @if ( Model.VariantPrimaryImages.Count > 5 ) 94 { 95 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 96 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 97 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 98 </span> 99 } 100 </div> 101 </div> 102 103 } 104 105 </div> 106 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 107 <p class="e-productlist-item-name mb-0 list-style-d-none"> 108 <a href="@Model.Link" class="text-ellipsis"> 109 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 110 @productName 111 </a> 112 </p> 113 <p class="e-productlist-item-name mb-1 grid-style-d-none d-none"> 114 <a href="@Model.Link"> 115 <span class="d-block font-weight-bold">@Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number</span> 116 @productName 117 </a> 118 </p> 119 120 <div class="e-productlist-item-text mb-0"> 121 @RenderingService.Instance.PartialView("/eCom/ProductList/partials/list-price.cshtml", Model) 122 </div> 123 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 124 125 int variantCount = Model.VariantPrimaryImages.Count; 126 127 if ( Model.VariantPrimaryImages.Count > 1 ) { 128 <div class="d-block d-md-none"> 129 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 130 </div> 131 } 132 } 133 </div> 134 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 135 { 136 <form class="e-productlist-item-form-container d-flex justify-content-end"> 137 <a class="btn btn-primary text-white mt-0 position-relative js-identity-productlist-get-variant-matrix-modal identity-productlist-get-variant-matrix-modal-btn"> 138 <span class="identity-productlist-get-variant-matrix-modal-text"> 139 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 140 </span> 141 </a> 142 </form> 143 144 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 145 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 146 </div> 147 } 148 </div> 149 <code class="js-identity-product-data" hidden> 150 @{ 151 dynamic productImperssionClick = new 152 { 153 item_name = Model.Name, 154 item_id = Model.Id, 155 price = Model.Price.Value.ToJavaScript(), 156 item_brand = Model.BrandName, 157 item_category = Model.Category, 158 item_variant = Model.ColorVariantText 159 }; 160 @Co3.Espresso.Website.Services.JsonService.Instance.ToJson(productImperssionClick) 161 } 162 </code> 163 </div> 164
No. 0360 PRO Wear sweatshirt | klassiek
No. 0360 PRO Wear sweatshirt | klassiek
€ 35,75 ( excl. btw )
+ 6 kleur
{"item_name":"PRO Wear sweatshirt | klassiek","item_id":"PROD849","price":"35.75","item_brand":"PW","item_category":"30","item_variant":"Zwart"}
{"item_name":"Sweat cardigan","item_id":"PROD915","price":"49.45","item_brand":"ID","item_category":"30","item_variant":"Marine"}
Error executing template "Designs/identity_v2/ecom/productlist/partials/item.cshtml" System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.get_ImagePrimary() at Co3.ID.Dw.Services.ProductService.GetVariantImages(IdentityProduct product, KeyValuePair`2 variantGroup, Boolean includeProduct) at Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct.GetVariantCombinationsPrimaryImages(Boolean includeProduct) at CompiledRazorTemplates.Dynamic.RazorEngine_c9104b7032364792850940d63ac58d38.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 74 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 ViewModelTemplate< Co3.ID.Dw.Models.Frontend.Ecommerce.IdentityProduct > 2 @using Co3.Espresso.Base.Extensions 3 @using Co3.Espresso.Website.Models.FrontEnd.Ecommerce 4 @using Co3.Espresso.Website.Models.FrontEnd.Elements 5 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 6 @using Co3.Espresso.Website.Models.FrontEnd.Settings 7 @using Co3.Espresso.Website.Services 8 @using Co3.ID.Dw.Helpers 9 @using Co3.ID.Dw.Models.Frontend.Ecommerce 10 @using Co3.ID.Dw.Models.Frontend.Users 11 @using Dynamicweb.Rendering 12 @using Co3.ID.Dw.Services 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Security.UserManagement 15 @using RenderingService = Co3.Espresso.Website.Services.RenderingService 16 17 @{ 18 string productName = Model.Name; 19 string productNumber = Model.Number; 20 21 User currentUser = PageView.Current().User; 22 ShopType shopContext = SiteContext.CurrentSiteContext(); 23 bool isCustomerShop = (PageView.Current().Area.Item["IsCustomerShop"] != null && (bool)PageView.Current().Area.Item["IsCustomerShop"] == true); 24 string discountGroup = currentUser != null ? currentUser.GetCustomFieldValue< string >( "DiscountGroup" ) : string.Empty; 25 bool showPrices = !isCustomerShop || UserContext.Current.CustomerShop != null && UserContext.Current.CustomerShop.Settings.ShowPrices == true; 26 27 string hoverImage = string.Empty; 28 29 if (!isCustomerShop && Model.ListItemHoverImage != null) 30 { 31 hoverImage = Model.ListItemHoverImage.Medium; 32 } 33 34 bool showBrands = Model.BrandCode == "SS" || Model.BrandCode == "GEYSER" || Model.BrandCode == "PRO WEAR"; 35 } 36 37 <div class="e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item- p-1" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 38 @if (showBrands) 39 { 40 <div class="productlist-brand-wrapper"> 41 @if ( Model.BrandCode == "SS" ) 42 { 43 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 44 } 45 @if ( Model.BrandCode == "GEYSER" ) 46 { 47 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 48 } 49 @if ( Model.BrandCode == "PRO WEAR" ) 50 { 51 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 52 } 53 </div> 54 } 55 56 57 <div class="productlist-label-container"> 58 @if ( Model.ProductLabels != null ) 59 { 60 foreach ( IdentityProductLabel label in Model.ProductLabels ) 61 { 62 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 63 } 64 } 65 66 </div> 67 68 <div class="e-productlist-item-container"> 69 <div class="e-productlist-item-image-container"> 70 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 71 <img alt="@Model.Name" class="e-productlist-item-image js-e-productlist-item-image" src="@Model.ImagePrimary.Medium" data-base-image="@Model.ImagePrimary.Medium" data-hover-image="@hoverImage"> 72 </a> 73 74 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 75 { 76 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 77 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 78 79 @{ 80 int variantCount = Model.VariantPrimaryImages.Count; 81 int variantCountTake = variantCount <= 5 ? 5 : 4; 82 } 83 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 84 { 85 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 86 { 87 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 88 <a href="@variantImage.Link"><span class="identity-variant-listitem-select-option-color js-identity-variant-listitem-select-option-color" style="background-image: url(@variantImage.Image.Small);" data-hover-image="@variantImage.Image.Medium"></span></a> 89 </span> 90 } 91 92 } 93 @if ( Model.VariantPrimaryImages.Count > 5 ) 94 { 95 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 96 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 97 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 98 </span> 99 } 100 </div> 101 </div> 102 103 } 104 105 </div> 106 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 107 <p class="e-productlist-item-name mb-0 list-style-d-none"> 108 <a href="@Model.Link" class="text-ellipsis"> 109 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 110 @productName 111 </a> 112 </p> 113 <p class="e-productlist-item-name mb-1 grid-style-d-none d-none"> 114 <a href="@Model.Link"> 115 <span class="d-block font-weight-bold">@Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number</span> 116 @productName 117 </a> 118 </p> 119 120 <div class="e-productlist-item-text mb-0"> 121 @RenderingService.Instance.PartialView("/eCom/ProductList/partials/list-price.cshtml", Model) 122 </div> 123 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 124 125 int variantCount = Model.VariantPrimaryImages.Count; 126 127 if ( Model.VariantPrimaryImages.Count > 1 ) { 128 <div class="d-block d-md-none"> 129 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 130 </div> 131 } 132 } 133 </div> 134 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 135 { 136 <form class="e-productlist-item-form-container d-flex justify-content-end"> 137 <a class="btn btn-primary text-white mt-0 position-relative js-identity-productlist-get-variant-matrix-modal identity-productlist-get-variant-matrix-modal-btn"> 138 <span class="identity-productlist-get-variant-matrix-modal-text"> 139 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 140 </span> 141 </a> 142 </form> 143 144 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 145 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 146 </div> 147 } 148 </div> 149 <code class="js-identity-product-data" hidden> 150 @{ 151 dynamic productImperssionClick = new 152 { 153 item_name = Model.Name, 154 item_id = Model.Id, 155 price = Model.Price.Value.ToJavaScript(), 156 item_brand = Model.BrandName, 157 item_category = Model.Category, 158 item_variant = Model.ColorVariantText 159 }; 160 @Co3.Espresso.Website.Services.JsonService.Instance.ToJson(productImperssionClick) 161 } 162 </code> 163 </div> 164
Logo laten bedrukken?
Bedrijfskleding valt meer op met jouw logo. Wij maken het aanbrengen simpel, snel en efficiënt.
Ontdek de mogelijkheden