Alle producten

0 Producten

Logo laten bedrukken?

Bedrijfskleding valt meer op met jouw logo. Wij maken het aanbrengen simpel, snel en efficiënt.

Ontdek de mogelijkheden

Logo laten bedrukken?

Bedrijfskleding valt meer op met jouw logo. Wij maken het aanbrengen simpel, snel en efficiënt.

Ontdek de mogelijkheden
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_aaa9cadeddac423193dc732e6a4702cf.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\productlist\partials\item.cshtml:line 91
   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 @(Model.IsAlternativeProduct ? "ml-4" : string.Empty)" data-product-id="@Model.Id" data-variant-id="@Model.VariantId" data-brand-code="@Model.BrandCode"> 38 39 @if (Model.IsAlternativeProduct) 40 { 41 <h4 class="is-alternative-product-header"> 42 @Translate("eCom Product - AlternativeProduct - Header", "Se også denne") 43 </h4> 44 } 45 @if (Model.IsDiscontinuedProduct) 46 { 47 <div class="discontinued-overlay"> 48 <h4 class="m-0"> 49 @Translate("eCom Product - Discontinued - Overlay - Text", "Produktet er udgået") 50 51 </h4> 52 </div> 53 } 54 55 @if (showBrands) 56 { 57 <div class="productlist-brand-wrapper"> 58 @if ( Model.BrandCode == "SS" ) 59 { 60 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/SevenSeasByID.svg" ) 61 } 62 @if ( Model.BrandCode == "GEYSER" ) 63 { 64 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/GEYSER.svg" ) 65 } 66 @if ( Model.BrandCode == "PRO WEAR" ) 67 { 68 @ImageService.Instance.GetSvgMarkup( "/Files/Images/products/Labels/ProWearByID.svg" ) 69 } 70 </div> 71 } 72 73 74 <div class="productlist-label-container"> 75 @if ( Model.ProductLabels != null ) 76 { 77 foreach ( IdentityProductLabel label in Model.ProductLabels ) 78 { 79 <span class="productlist-label label-@label.ClassName ">@label.Text</span> 80 } 81 } 82 83 </div> 84 85 <div class="e-productlist-item-container"> 86 <div class="e-productlist-item-image-container"> 87 <a class="e-productlist-item-image-wrapper" href="@Model.Link"> 88 <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"> 89 </a> 90 91 @if (Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) 92 { 93 <div class="identity-variant-listitem-select-option-container d-none d-md-block"> 94 <div class="d-flex identity-variant-listitem-select-option-wrapper"> 95 96 @{ 97 int variantCount = Model.VariantPrimaryImages.Count; 98 int variantCountTake = variantCount <= 5 ? 5 : 4; 99 } 100 @foreach ( IdentityProductVariants variantImage in Model.VariantPrimaryImages.Take( variantCountTake ) ) 101 { 102 if (!string.IsNullOrEmpty(variantImage.Link) && variantImage.Image != null) 103 { 104 <span class="select-option-color-wrapper js-select-option-color-wrapper"> 105 <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> 106 </span> 107 } 108 109 } 110 @if ( Model.VariantPrimaryImages.Count > 5 ) 111 { 112 string moreVariantText = string.Format( "+{0}", Model.VariantPrimaryImages.Count - 4 ); 113 <span class="select-option-color-wrapper bg-light variant-option-extra-count"> 114 <span class="identity-variant-listitem-select-option-color">@moreVariantText</span> 115 </span> 116 } 117 </div> 118 </div> 119 120 } 121 122 </div> 123 <div class="e-productlist-item-text-container small"> @* CSS ADD text-truncate *@ 124 <p class="e-productlist-item-name mb-0 list-style-d-none"> 125 <a href="@Model.Link" class="text-ellipsis"> 126 @Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number 127 @productName 128 </a> 129 </p> 130 <p class="e-productlist-item-name mb-1 grid-style-d-none d-none"> 131 <a href="@Model.Link"> 132 <span class="d-block font-weight-bold">@Translate("eCom Product - Product Number - List - Text", "No.") @Model.Number</span> 133 @productName 134 </a> 135 </p> 136 137 <div class="e-productlist-item-text mb-0"> 138 @RenderingService.Instance.PartialView("/eCom/ProductList/partials/list-price.cshtml", Model) 139 </div> 140 @if ( Model.VariantPrimaryImages != null && Model.VariantPrimaryImages.Any() ) { 141 142 int variantCount = Model.VariantPrimaryImages.Count; 143 144 if ( Model.VariantPrimaryImages.Count > 1 ) { 145 <div class="d-block d-md-none"> 146 <p class="p-0 m-0 font-weight-semibold"><small>+ @variantCount @Translate("Product List Colors - Text", "farver")</small></p> 147 </div> 148 } 149 } 150 </div> 151 @if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 152 { 153 <form class="e-productlist-item-form-container d-flex justify-content-end"> 154 <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"> 155 <span class="identity-productlist-get-variant-matrix-modal-text"> 156 @ImageService.Instance.GetSvgMarkup("/Files/Images/icons/outline/41-shopping/shopping-cart-add-2.svg") 157 </span> 158 </a> 159 </form> 160 161 <div class="e-loading-overlay e-productlist-loading-overlay js-e-matrix-loading-overlay"> 162 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 163 </div> 164 } 165 </div> 166 <code class="js-identity-product-data" hidden> 167 @{ 168 dynamic productImperssionClick = new 169 { 170 item_name = Model.Name, 171 item_id = Model.Id, 172 price = Model.Price.Value.ToJavaScript(), 173 item_brand = Model.BrandName, 174 item_category = Model.Category, 175 item_variant = Model.ColorVariantText 176 }; 177 @Co3.Espresso.Website.Services.JsonService.Instance.ToJson(productImperssionClick) 178 } 179 </code> 180 </div> 181

Productie & industrie

Zorg &
gezondheid

Handel, detail & service

Café, hotel & restaurant

Tijdloze Bedrijfskleding

Bedrijfskleding met een
klassiek en tijdloos design,
verfijnd sinds 1983

Gedeelde identiteit

Kleding met een
gezamenlijke identiteit en
gevoel van saamhorigheid

Vind jouw kleur

Kies uit meer dan 60
kleuren er is er zeker
één voor jou

Kwaliteit die blijft

Ontworpen om keer op keer
gedragen te worden – behoudt
zijn vorm en kleur

Rapport over MVO, zie artikel 99 a van de Deense Jaarrekeningenwet. BCI cotton ID® Duurzaamheidsrapport 2024/2025. Bekijk hier

keyboard_arrow_up