close

Wir bieten Ihnen alles im Bereich Profilbekleidung: BCI cotton  Gestaltung von Logos, Stickerei und Druck     |    BCI cotton  Entwerfen Sie Ihre eigenen unverwechselbaren Styles

Qualitätsgeprüft seit 1983

Mehr als 300 Styles | 60 Farben | 14 Größen | 3 Passformen

Hier kaufen

keyboard_arrow_down

4 iconic classics

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_c42e73465f2c4ad1bbc18935d66157d0.Execute() in E:\Solutions\id.test002.webtester.dk\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

Aus recycling-kunststoff zur Aktivwäsche

‘Seamless’ – so lautet der Name der Active Wear-Serie von GEYSER by ID®. Die Serie ist aus recyceltem Polyester hergestellt, einem verantwortungsvolleren Material aus recyceltem Kunststoff.

Entdecken Seamless Active Wear

Everyday wear

More than sportswear

Passion for shirts

Made to last

Zeitlose Corporate Wear

Corporate Wear mit einem klassischen
und zeitlosen Design, das seit
1983 weiter verfeinert wurde

Gemeinsame Identität

Kleidung, die eine gemeinsame
Identität unterstreicht und den
Gemeinschaftssinn stärkt

Finden Sie Ihre Farbe

Wählen Sie aus mehr als 60
Farbvarianten – es ist garantiert auch
eine Farbe für Sie dabei

Keine Kompromisse

Immer und immer wieder
verwendet zu werden – behält
die Passform und Farbe

keyboard_arrow_up