Product no. X0035

GD Covers (GD)

Reliable protection for solenoid valve terminals. Durable double-edged solution designed to protect solenoid valve terminals during transport. Fits standard DIN 43 650 plugs.

Error compiling template "Designs/Swift-v2/Paragraph/CustomProductActions.cshtml"
Line 29: Argument 1: cannot convert from 'Dynamicweb.Frontend.LinkViewModel' to 'string?'

1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using Dynamicweb.Core; 11 using Dynamicweb.Ecommerce.ProductCatalog; 12 internal class RazorEngine_1dee4e45c19543adb20d9b75f9cb2d12 : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 13 { 14 #pragma warning disable 1998 15 public async override global::System.Threading.Tasks.Task ExecuteAsync() 16 { 17 WriteLiteral("\r\n"); 18 19 ProductViewModel product = null; 20 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 21 { 22 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 23 } 24 25 var iconPath = "Files/Images/Icons/Custom/"; 26 27 var productFamilyParagraphLink = Pageview.SearchFriendlyUrl + "#" + Model.Item.GetLink("ProductFamilyParagraph"); 28 var signInPageLink = Model.Item.GetLink("SignInPage"); 29 bool hasSignInPageLink = !string.IsNullOrWhiteSpace(signInPageLink); 30 31 bool showPricesWithVat = Dynamicweb.Ecommerce.Common.Context.DisplayPricesWithVat; 32 bool neverShowVat = string.IsNullOrEmpty(showPricesWithVat.ToString()); 33 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : string.Empty; 34 WriteLiteral("\r\n"); 35 if (product is object) 36 { 37 if (Pageview.User == null) { 38 39 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 40 bool hideAddToCart = anonymousUsersLimitations.Contains("cart"); 41 hideAddToCart = Pageview.IsVisualEditorMode ? false : hideAddToCart; 42 43 WriteLiteral("\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n"); 44 if (!hideAddToCart) 45 { 46 WriteLiteral("\t\t\t\t\t<div class=\"col-4 border-end ps-0 d-flex flex-column justify-content-between\">\r\n\t\t\t\t\t\t<div class=\"text-lg semi-bold mb-2\">"); 47 Write(Translate("Custom.ProductActions.Try", "Try before you decide")); 48 WriteLiteral("</div>\r\n\t\t\t\t\t\t<a"); 49 BeginWriteAttribute("href", " href=\"", 1581, "\"", 1615, 1); 50 WriteAttributeValue("", 1588, productFamilyParagraphLink, 1588, 27, false); 51 EndWriteAttribute(); 52 WriteLiteral(" class=\"btn btn-primary w-100\" data-dw-button=\"primary\">\r\n\t\t\t\t\t\t\t<span>"); 53 Write(Translate("Custom.ProductActions.Try.ButtonText", "Request sample")); 54 WriteLiteral("<span class=\"ps-2\">"); 55 Write(ReadFile(iconPath + "arrow-down.svg")); 56 WriteLiteral("</span></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n"); 57 } 58 WriteLiteral("\t\t\t\t<div"); 59 BeginWriteAttribute("class", " class=\"", 1868, "\"", 1962, 6); 60 WriteAttributeValue("", 1876, "col-", 1876, 4, true); 61 WriteAttributeValue("", 1880, hideAddToCart ? "6" : "4", 1880, 28, false); 62 WriteAttributeValue(" ", 1908, "border-end", 1909, 11, true); 63 WriteAttributeValue(" ", 1919, "d-flex", 1920, 7, true); 64 WriteAttributeValue(" ", 1926, "flex-column", 1927, 12, true); 65 WriteAttributeValue(" ", 1938, "justify-content-between", 1939, 24, true); 66 EndWriteAttribute(); 67 WriteLiteral(">\r\n\t\t\t\t\t<div class=\"text-lg semi-bold mb-2\">"); 68 Write(Translate("Custom.ProductActions.Variants", "Variants")); 69 WriteLiteral("</div>\r\n\t\t\t\t\t<a"); 70 BeginWriteAttribute("href", " href=\"", 2078, "\"", 2112, 1); 71 WriteAttributeValue("", 2085, productFamilyParagraphLink, 2085, 27, false); 72 EndWriteAttribute(); 73 WriteLiteral(" class=\"btn btn-outline-secondary w-100\" data-dw-button=\"outline-secondary\">\r\n\t\t\t\t\t\t<span>"); 74 Write(Translate("Custom.ProductActions.Variants.ButtonText", "View products")); 75 WriteLiteral("<span class=\"ps-2\">"); 76 Write(ReadFile(iconPath + "arrow-down.svg")); 77 WriteLiteral("</span></span>\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div"); 78 BeginWriteAttribute("class", " class=\"", 2379, "\"", 2462, 5); 79 WriteAttributeValue("", 2387, "col-", 2387, 4, true); 80 WriteAttributeValue("", 2391, hideAddToCart ? "6" : "4", 2391, 28, false); 81 WriteAttributeValue(" ", 2419, "d-flex", 2420, 7, true); 82 WriteAttributeValue(" ", 2426, "flex-column", 2427, 12, true); 83 WriteAttributeValue(" ", 2438, "justify-content-between", 2439, 24, true); 84 EndWriteAttribute(); 85 WriteLiteral(">\r\n\t\t\t\t\t<div class=\"text-lg semi-bold d-inline-flex align-items-center mb-2\">\r\n\t\t\t\t\t\t<div class=\"rounded-circle green me-1\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t"); 86 Write(Translate("Custom.ProductActions.Stocklabel", "In stock")); 87 WriteLiteral("\r\n\t\t\t\t\t</div>\r\n"); 88 if (!hideAddToCart && hasSignInPageLink) 89 { 90 WriteLiteral("\t\t\t\t\t\t<a"); 91 BeginWriteAttribute("href", " href=\"", 2746, "\"", 2768, 1); 92 WriteAttributeValue("", 2753, signInPageLink, 2753, 15, false); 93 EndWriteAttribute(); 94 WriteLiteral(" class=\"btn btn-outline-secondary w-100\" data-dw-button=\"outline-secondary\">\r\n\t\t\t\t\t\t\t<span>"); 95 Write(Translate("Custom.ProductActions.SignIn.ButtonText", "Sign in to buy")); 96 WriteLiteral("<span class=\"ps-2\">"); 97 Write(ReadFile(iconPath + "shopping-cart.svg")); 98 WriteLiteral("</span></span>\r\n\t\t\t\t\t\t</a>\r\n"); 99 } 100 WriteLiteral("\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n"); 101 102 } 103 else { 104 WriteLiteral("\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row align-items-center\">\r\n\t\t\t<div class=\"col-6\">\r\n\t\t\t\t\t<div class=\"text-sm medium mb-1\">"); 105 Write(Translate("Custom.ProductActions.Prices", "Prices starting from")); 106 WriteLiteral("</div>\r\n\t\t\t\t\t<div class=\"mb-1\">\r\n"); 107 if (!showPricesWithVat && !neverShowVat) 108 { 109 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithoutVatFormatted : product.Price.PriceWithoutVatFormatted; 110 111 if (product?.VariantInfo?.VariantInfo != null) 112 { 113 price = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : price; 114 } 115 116 WriteLiteral("\t\t\t\t\t\t\t<span class=\"display-sm bold\">"); 117 Write(price); 118 WriteLiteral("</span>\r\n\t\t\t\t\t\t\t<span class=\"text-sm medium opacity-75\">"); 119 Write(Translate("Custom.ProductActions.Prices.WithoutVat", "ex. VAT")); 120 WriteLiteral("</span>\r\n"); 121 } 122 else 123 { 124 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceFormatted : product.Price.PriceFormatted; 125 126 if (product?.VariantInfo?.VariantInfo != null) 127 { 128 price = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : price; 129 } 130 131 132 WriteLiteral("\t\t\t\t\t\t\t<span class=\"display-sm bold\">"); 133 Write(price); 134 WriteLiteral("</span>\r\n\t\t\t\t\t\t\t<span class=\"text-sm medium opacity-75\">"); 135 Write(Translate("Custom.ProductActions.Prices.WithVat", "incl. VAT")); 136 WriteLiteral("</span>\r\n"); 137 } 138 WriteLiteral("\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"fs-7 d-inline-flex align-items-center\">\r\n\t\t\t\t\t\t<div class=\"rounded-circle green me-1\">\r\n\t\t\t\t\t\t</div>\r\n <div class=\"text-sm medium opacity-75\">"); 139 Write(Translate("Custom.ProductActions.Stocklabel", "In stock")); 140 WriteLiteral("</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-6\">\r\n\t\t\t\t\t<a"); 141 BeginWriteAttribute("href", " href=\"", 4781, "\"", 4815, 1); 142 WriteAttributeValue("", 4788, productFamilyParagraphLink, 4788, 27, false); 143 EndWriteAttribute(); 144 WriteLiteral(" class=\"btn btn-primary w-100\" data-dw-button=\"primary\">\r\n\t\t\t\t\t\t<span>"); 145 Write(Translate("Custom.ProductActions.SignedIn.ButtonText", "Buy products")); 146 WriteLiteral("<span class=\"ps-2\">"); 147 Write(ReadFile(iconPath + "shopping-cart.svg")); 148 WriteLiteral("</span></span>\r\n\t\t\t\t\t</a>\r\n\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n"); 149 } 150 151 } 152 else if (Pageview.IsVisualEditorMode) 153 { 154 WriteLiteral("\t<div class=\"alert alert-dark m-0\" role=\"alert\">\r\n\t\t<span>"); 155 Write(Translate("The product actions will be shown here, if available")); 156 WriteLiteral("</span>\r\n\t</div>\r\n"); 157 } 158 } 159 #pragma warning restore 1998 160 } 161 } 162 #pragma warning restore 1591 163

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Core 3 @using Dynamicweb.Ecommerce.ProductCatalog 4 5 @{ 6 ProductViewModel product = null; 7 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 8 { 9 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 10 } 11 12 var iconPath = "Files/Images/Icons/Custom/"; 13 14 var productFamilyParagraphLink = Pageview.SearchFriendlyUrl + "#" + Model.Item.GetLink("ProductFamilyParagraph"); 15 var signInPageLink = Model.Item.GetLink("SignInPage"); 16 bool hasSignInPageLink = !string.IsNullOrWhiteSpace(signInPageLink); 17 18 bool showPricesWithVat = Dynamicweb.Ecommerce.Common.Context.DisplayPricesWithVat; 19 bool neverShowVat = string.IsNullOrEmpty(showPricesWithVat.ToString()); 20 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : string.Empty; 21 } 22 23 @if (product is object) 24 { 25 if (Pageview.User == null) { 26 27 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 28 bool hideAddToCart = anonymousUsersLimitations.Contains("cart"); 29 hideAddToCart = Pageview.IsVisualEditorMode ? false : hideAddToCart; 30 31 <div class="container"> 32 <div class="row"> 33 @if (!hideAddToCart) 34 { 35 <div class="col-4 border-end ps-0 d-flex flex-column justify-content-between"> 36 <div class="text-lg semi-bold mb-2">@Translate("Custom.ProductActions.Try", "Try before you decide")</div> 37 <a href="@productFamilyParagraphLink" class="btn btn-primary w-100" data-dw-button="primary"> 38 <span>@Translate("Custom.ProductActions.Try.ButtonText", "Request sample")<span class="ps-2">@ReadFile(iconPath + "arrow-down.svg")</span></span> 39 </a> 40 </div> 41 } 42 <div class="col-@(hideAddToCart ? "6" : "4") border-end d-flex flex-column justify-content-between"> 43 <div class="text-lg semi-bold mb-2">@Translate("Custom.ProductActions.Variants", "Variants")</div> 44 <a href="@productFamilyParagraphLink" class="btn btn-outline-secondary w-100" data-dw-button="outline-secondary"> 45 <span>@Translate("Custom.ProductActions.Variants.ButtonText", "View products")<span class="ps-2">@ReadFile(iconPath + "arrow-down.svg")</span></span> 46 </a> 47 </div> 48 <div class="col-@(hideAddToCart ? "6" : "4") d-flex flex-column justify-content-between"> 49 <div class="text-lg semi-bold d-inline-flex align-items-center mb-2"> 50 <div class="rounded-circle green me-1"> 51 </div> 52 @Translate("Custom.ProductActions.Stocklabel", "In stock") 53 </div> 54 @if (!hideAddToCart && hasSignInPageLink) 55 { 56 <a href="@signInPageLink" class="btn btn-outline-secondary w-100" data-dw-button="outline-secondary"> 57 <span>@Translate("Custom.ProductActions.SignIn.ButtonText", "Sign in to buy")<span class="ps-2">@ReadFile(iconPath + "shopping-cart.svg")</span></span> 58 </a> 59 } 60 </div> 61 </div> 62 </div> 63 64 } 65 else { 66 <div class="container"> 67 <div class="row align-items-center"> 68 <div class="col-6"> 69 <div class="text-sm medium mb-1">@Translate("Custom.ProductActions.Prices", "Prices starting from")</div> 70 <div class="mb-1"> 71 @if (!showPricesWithVat && !neverShowVat) 72 { 73 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceWithoutVatFormatted : product.Price.PriceWithoutVatFormatted; 74 75 if (product?.VariantInfo?.VariantInfo != null) 76 { 77 price = product?.VariantInfo?.PriceMin?.PriceWithoutVatFormatted != null ? product.VariantInfo.PriceMin.PriceWithoutVatFormatted : price; 78 } 79 80 <span class="display-sm bold">@price</span> 81 <span class="text-sm medium opacity-75">@Translate("Custom.ProductActions.Prices.WithoutVat", "ex. VAT")</span> 82 } 83 else 84 { 85 string price = !string.IsNullOrEmpty(unitId) ? product.GetPrice(unitId).Price.PriceFormatted : product.Price.PriceFormatted; 86 87 if (product?.VariantInfo?.VariantInfo != null) 88 { 89 price = product?.VariantInfo?.PriceMin?.PriceFormatted != null ? product.VariantInfo.PriceMin.PriceFormatted : price; 90 } 91 92 93 <span class="display-sm bold">@price</span> 94 <span class="text-sm medium opacity-75">@Translate("Custom.ProductActions.Prices.WithVat", "incl. VAT")</span> 95 } 96 </div> 97 <div class="fs-7 d-inline-flex align-items-center"> 98 <div class="rounded-circle green me-1"> 99 </div> 100 <div class="text-sm medium opacity-75">@Translate("Custom.ProductActions.Stocklabel", "In stock")</div> 101 </div> 102 </div> 103 <div class="col-6"> 104 <a href="@productFamilyParagraphLink" class="btn btn-primary w-100" data-dw-button="primary"> 105 <span>@Translate("Custom.ProductActions.SignedIn.ButtonText", "Buy products")<span class="ps-2">@ReadFile(iconPath + "shopping-cart.svg")</span></span> 106 </a> 107 </div> 108 </div> 109 </div> 110 } 111 112 } 113 else if (Pageview.IsVisualEditorMode) 114 { 115 <div class="alert alert-dark m-0" role="alert"> 116 <span>@Translate("The product actions will be shown here, if available")</span> 117 </div> 118 } 119
All benefits
Easy handling
quick and simple installation
Secure fit
designed for DIN 43 650 terminals
Tough design
protects against impact and contamination
Product specifications
Size unit:
Technical drawing
CO2
B mm
C mm
D mm
F mm
H mm
GD0214A-AA10A Natural TPE 0 21.1 18.5 15.7 13.9 12

Learn how our full service can add value to your business

Your full-service protection solution partner

Matching applications to mobility
We’re application specialists. We are familiar with each segment’s unique challenges, from assembly conditions to ergonomics.
Value added services
We’re application specialists. We are familiar with each segment’s unique challenges, from assembly conditions to ergonomics.