Long Cylindrical Protectors (ML)
Protection for small UNC-threaded tubes, shaft ends, and common rail sensors in automotive systems. The ML range provides a reliable fit and consistent performance, even in challenging conditions.
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_76aed27d570a47969adc9be8dff4cc50 : 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
|
|
CO2
|
A
mm
|
H
mm
|
|---|
| ML0180A-AE20A | Yellow | EVA | 0 | 18.2 | 29.7 |
|
| ML0492A-AA20A | Yellow | Recycled LDPE | 0 | 49.7 | 58.8 |
|
| ML0510A-AA00A | Red | Recycled LDPE | 0 | 49.9 | 68.1 |
|
| ML0625A-AA40A | Black | Recycled LDPE | 0 | 62.5 | 66 |
|
Learn how our full service can add value to your business
Your full-service protection solution partner