Damen Kind

YES Active T-Shirt

No. 2030

Damen Kind

 7,90 ( 7,90 exkl. MwSt. )

Funktionelles T-Shirt mit V-Ausschnitt. Schweißtransportierend, atmungsaktiv und schnelltrocknend. Höchste Funktionalität zum besten Preis.
Error executing template "Designs/identity_v2/ecom/product/partials/add-to-cart.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 CompiledRazorTemplates.Dynamic.RazorEngine_c8ac1ab5ffcc4264930a228d709a64ac.<>c__DisplayClass0_0.<VariantOption>b__0(TextWriter __razor_helper_writer) in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\product\partials\add-to-cart.cshtml:line 198
   at CompiledRazorTemplates.Dynamic.RazorEngine_c8ac1ab5ffcc4264930a228d709a64ac.Execute() in D:\dynamicweb.net\Solutions\id.espresso4.dk-e5\Files\Templates\Designs\identity_v2\ecom\product\partials\add-to-cart.cshtml:line 125
   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.Settings 5 @using Co3.ID.Dw.Helpers 6 @using Co3.ID.Dw.Models.Frontend.Ecommerce 7 @using Dynamicweb.Ecommerce.Common 8 @using Dynamicweb.Ecommerce.Variants 9 @using Dynamicweb.Ecommerce.Products 10 @using Dynamicweb.Frontend 11 @using Dynamicweb.Rendering 12 @using Dynamicweb.Security.UserManagement 13 @using ProductService = Co3.ID.Dw.Services.ProductService 14 @using System.Web 15 @using Co3.ID.Dw.Services 16 17 @{ 18 var shopContext = SiteContext.CurrentSiteContext(); 19 string alternativeAction = string.IsNullOrEmpty(PageView.Current().Area.Item["EcommerceAlternativeCallToAction"]?.ToString()) == false ? PageView.Current().Area.Item["EcommerceAlternativeCallToAction"].ToString() : string.Empty; 20 } 21 22 23 24 <form action="/system/data/cart" class="e-product-form js-e-product-form js-e-product-form-addtocart pb-1" method="post"> 25 <input name="CartCmd" type="hidden" value="Add"> 26 <input name="ProductID" type="hidden" value="@Model.Id"> 27 <input name="VariantID" type="hidden" value="@Model.VariantId"> 28 <input name="Quantity" type="hidden" value="1"> 29 <input name="Redirect" type="hidden" value=""> 30 <input name="Name" type="hidden" value="@Model.Name"> 31 <input name="Number" type="hidden" value="@Model.Number"> 32 <input name="Price" type="hidden" value="@Model.Price.Value.ToJavaScript()"> 33 <input name="CurrencyCode" type="hidden" value="@Model.Price.CurrencyCode"> 34 35 36 @if (Model.VariantGroups.Any()) 37 { 38 <div class=""> 39 @foreach (KeyValuePair<string, EspressoVariantGroup> variantGroup in Model.VariantGroups) 40 { 41 bool isColorGroup = variantGroup.Value.Id == Co3.ID.Data.App.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID; 42 string groupClassNameAppend = isColorGroup ? "color" : "size"; 43 int variantTake = 7; 44 45 46 string variantInputFieldName = string.Format("{0}_{1}", Model.Id, variantGroup.Value.Id); 47 <div class="form-group js-e-product-form-variant-form-group e-product-form-variant-form-group-@groupClassNameAppend js-e-product-form-variant-form-group-@groupClassNameAppend" data-auto-select="true" data-variant-take="@variantTake" @(((shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop || !PageView.Current().IsBasketEnabled()) && groupClassNameAppend == "size") ? "hidden" : string.Empty)> 48 <label class="form-control-label d-flex font-weight-semibold small @(isColorGroup == false ? "d-flex justify-content-between" : string.Empty)"> 49 @Translate(string.Format("eCom - Product Details - variant header - {0}", variantGroup.Value.Name), variantGroup.Value.Name) 50 @if (isColorGroup == true) 51 { 52 <span class="js-identity-selected-color-variant-text">@Model.ColorVariantText</span> 53 54 if (Model.SizeGuidePageId > 0) 55 { 56 if (shopContext == ShopType.B2B || shopContext == ShopType.CustomerShop) 57 { 58 if (Model.SizeGuidePageId > 0 || Model.BrandCode == "PRIVATELAB") 59 { 60 <a class="ml-auto text-muted font-weight-normal link-underline" data-toggle="modal" data-target="#identity-size-guide-modal"> 61 @Translate("eCom - Product Details - size guide -link -text", "Størrelsesguide") 62 </a> 63 } 64 } 65 else 66 { 67 <a class="ml-auto text-muted font-weight-normal link-underline" data-toggle="modal" data-target="#identity-size-guide-modal"> 68 @Translate("eCom - Product Details - size guide -link -text", "Størrelsesguide") 69 </a> 70 } 71 72 } 73 74 } 75 </label> 76 <div class="identity-variant-group d-flex"> 77 @{ 78 int variantCount = variantGroup.Value.Options.Count; 79 bool shouldWrapLast = variantCount > variantTake; 80 int variantIndex = 0; 81 string collapseId = string.Format("collapseExtraVariants_{0}", variantGroup.Value.Name); 82 83 IOrderedEnumerable<KeyValuePair<string, EspressoVariantOption>> variantGroupOptions = variantGroup.Value.Options.OrderBy(o => o.Key); 84 85 if (isColorGroup) 86 { 87 variantGroupOptions = variantGroup.Value.Options.OrderByDescending(o => o.Value.Id == variantGroup.Value.SelectedOptionId); 88 } 89 else 90 { 91 Dictionary<string, int> variantGroupOptionSortOrder = ProductService.Instance.GetVariantGroupOptionSortOrder(variantGroup.Value.Name); 92 variantGroupOptions = variantGroup.Value.Options.OrderBy(o => o.Value.Id != null && variantGroupOptionSortOrder.ContainsKey(o.Value.Id) ? variantGroupOptionSortOrder[o.Value.Id] : 99); 93 } 94 } 95 96 97 @foreach (KeyValuePair<string, EspressoVariantOption> variantOption in variantGroupOptions) 98 { 99 string variantInputFieldId = string.Format("{0}_{1}", variantInputFieldName, variantOption.Value.Id); 100 bool isSelected = variantOption.Value.Id == variantGroup.Value.SelectedOptionId; 101 string lastVariantIdBeforeWrap = string.Empty; 102 103 104 if (shouldWrapLast && variantIndex == variantTake) 105 { 106 lastVariantIdBeforeWrap = variantOption.Key; 107 108 <label class="custom-control custom-radio identity-variant-select-option js-identity-variant-select-option"> 109 <span class="custom-control-description disabled"> 110 <span class="@(isColorGroup ? "identity-variant-select-option-color" : "identity-variant-select-option-generic") js-identity-extra-variants-toggler" data-toggle="collapse" href="#@collapseId" role="button" aria-expanded="false"> 111 <span class="js-variant-hidden-count" data-default="@(variantCount - variantTake)">+@(variantCount - variantTake)</span> 112 </span> 113 </span> 114 </label> 115 116 @VariantOption(isColorGroup, isSelected, variantInputFieldId, variantInputFieldName, variantOption, true) 117 118 @:</div> 119 @:<div class="collapse js-identity-extra-variants-collapse" id="@collapseId"> 120 @:<div class="identity-variant-group d-flex"> 121 } 122 123 if (variantOption.Key != lastVariantIdBeforeWrap) 124 { 125 @VariantOption(isColorGroup, isSelected, variantInputFieldId, variantInputFieldName, variantOption) 126 } 127 128 if (shouldWrapLast && (variantIndex + 1) == variantCount) 129 { 130 <label class="custom-control custom-radio identity-variant-select-option"> 131 <span class="custom-control-description disabled"> 132 <span class="@(isColorGroup ? "identity-variant-select-option-color" : "identity-variant-select-option-generic")" data-toggle="collapse" href="#@collapseId" role="button" aria-expanded="false"> 133 <span class="variant-close-toggle"></span> 134 </span> 135 </span> 136 </label> 137 @:</div> 138 } 139 variantIndex++; 140 } 141 </div> 142 </div> 143 } 144 145 </div> 146 } 147 @if (PageView.Current().IsBasketEnabled()) 148 { 149 if (shopContext == ShopType.B2C) 150 { 151 <button class="btn btn-primary btn-lg btn-block position-relative" type="submit"> 152 @Translate("eCom Product - Add To Cart - Button", "Add to cart") 153 </button> 154 155 <div class="d-block d-lg-none mt-2"> 156 @RenderingService.Instance.PartialView("ecom/product/partials/designer-link.cshtml", Model) 157 </div> 158 159 } 160 161 } 162 else 163 { 164 @alternativeAction 165 } 166 167 </form> 168 169 170 @helper VariantOption(bool isColorGroup, bool isSelected, string variantInputFieldId, string variantInputFieldName, KeyValuePair<string, EspressoVariantOption> variantOption, bool boolHide = false) 171 { 172 <label class="custom-control custom-radio identity-variant-select-option @(boolHide == true ? "js-identity-variant-select-option-hidden d-none" : string.Empty)"> 173 <input class="custom-control-input js-e-product-form-variant-group-input required" id="@variantInputFieldId" name="@variantInputFieldName" title="@HttpUtility.HtmlEncode(variantOption.Value.Name.Replace("\"", "'"))" data-name="@HttpUtility.HtmlEncode(variantOption.Value.Name.Replace("\"", "'"))" type="radio" value="@variantOption.Value.Id" @(isSelected ? "checked" : string.Empty)> 174 @* 175 @if (isColorGroup) 176 { 177 178 } 179 else 180 { 181 string variantComboId = string.Format("{0}.{1}", Model.VariantGroups[Co3.ID.Data.App.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID].SelectedOptionId, variantOption.Value.Id); 182 IdentityProduct idProduct = ProductService.Instance.GetVariantByComboId(Model, variantComboId); 183 <input class="custom-control-input js-e-product-form-variant-group-input required" id="@variantInputFieldId" name="@variantInputFieldName" title="@variantOption.Value.Name" data-name="@variantOption.Value.Name" type="radio" value="@variantOption.Value.Id" @(isSelected ? "checked" : string.Empty) @(idProduct.Stock.Quantity> 0 ? string.Empty : "disabled")> 184 }*@ 185 <span class="custom-control-description"> 186 <div class="identity-corner-brackets-container identity-corner-brackets-all border-primary is-corner-thumb p-0"> 187 <div class="identity-corner-brackets-wrapper border-primary"> 188 189 190 191 192 193 @if (isColorGroup) 194 { 195 EspressoVariantGroup sizeVariantGroup = Model.VariantGroups.FirstOrDefault(vg => vg.Key != Co3.ID.Data.App.Constants.PRODUCT_VARIANT_GROUP_COLOR_ID).Value; 196 string variantComboId = string.Format("{0}.{1}", variantOption.Value.Id, sizeVariantGroup.SelectedOptionId); 197 IdentityProduct idProduct = ProductService.Instance.GetVariantByComboId(Model, variantComboId); 198 EspressoProductImageUrl imageUrl = idProduct?.ImagePrimary; 199 200 if (imageUrl != null) 201 { 202 <span class="identity-variant-select-option-color js-variant-color-image" style="background-image: url(@imageUrl.Small);" data-image="@imageUrl.Small" data-name="@variantOption.Value.Name" data-toggle="tooltip" data-placement="top" title="@variantOption.Value.Name"></span> 203 } 204 else 205 { 206 <span class="identity-variant-select-option-generic"> 207 <span>@variantOption.Value.Name</span> 208 </span> 209 } 210 } 211 else 212 { 213 <span class="identity-variant-select-option-generic"> 214 <span class="js-variant-size-text">@variantOption.Value.Name</span> 215 </span> 216 } 217 218 219 </div> 220 </div> 221 </span> 222 </label> 223 } 224
Funktionelles T-Shirt mit V-Ausschnitt. Schweißtransportierend, atmungsaktiv und schnelltrocknend. Höchste Funktionalität zum besten Preis.
YES Active T-Shirt
YES Active T-Shirt
YES Active T-Shirt
YES Active T-Shirt

Firmenbekleidung & Merch designen

Produkt auswählen, Logo hochladen – und schnell ein Angebot von einem ID®-Händler erhalten.

Jetzt Design starten

Kein passendes Kleidungsstück gefunden?

Mit einer Private Label-Lösung entwickeln Sie einzigartige Styles in enger Zusammenarbeit mit unserem erfahrenen Team.

Hier Möglichkeiten ansehen

Sport & Verein

Service & Tourismus

Büro & Verwaltung

Hotel, Café & Restaurant

Zeitlose Arbeitskleidung

Profilbekleidung & Firmenkleidung
mit zeitlosem Design
seit 1983

Gemeinschaft stärken

Logo-Bekleidung, die
eine gemeinsame Identität
schafft

Finden Sie Ihre Farbe

Wählen Sie aus 60+ Farben
– passend zu Ihrem
Unternehmensprofil

Qualität, die hält

Hochwertige Firmenkleidung
– behält Form und Farbe
Wäsche für Wäsche

Erklärung zur sozialen Verantwortung, vgl. § 99a des dänischen Rechnungsabschlussgesetzes". BCI cotton Unseren Verantwortungsbericht hier ansehen

keyboard_arrow_up