Error executing template "Designs/Tapas/_parsed/cleanpage.parsed.cshtml"
System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at CompiledRazorTemplates.Dynamic.RazorEngine_1725cd6c426b49a1b4d67a75aae05636.Execute() in E:\Websites\elma.LIVE\Files\Templates\Designs\Tapas\_parsed\cleanpage.parsed.cshtml:line 263
   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 Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using Dynamicweb.Rendering 3 @using System.Collections.Generic 4 @using Dynamicweb.Environment 5 6 @{ 7 object objInstantSearchId = (object)null; 8 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("InstantSearchId", out objInstantSearchId); 9 int instantSearchId = int.Parse(objInstantSearchId.ToString()); 10 11 object objProductCatalogId = (object)null; 12 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("ProductCatalogId", out objProductCatalogId); 13 int productCatalogId = int.Parse(objProductCatalogId.ToString()); 14 15 object objLoginId = (object)null; 16 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("LoginId", out objLoginId); 17 int loginId = int.Parse(objLoginId.ToString()); 18 19 object objFooterId = (object)null; 20 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("FooterId", out objFooterId); 21 int footerId = int.Parse(objFooterId.ToString()); 22 23 object objCheckoutId = (object)null; 24 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("CheckoutId", out objCheckoutId); 25 int checkoutId = int.Parse(objCheckoutId.ToString()); 26 27 object objNewsletterId = (object)null; 28 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("NewsletterId", out objNewsletterId); 29 int newsletterId = int.Parse(objNewsletterId.ToString()); 30 31 object objLogo = (object)null; 32 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("Logo", out objLogo); 33 string logo = objLogo.ToString(); 34 35 object objSearchResultId = (object)null; 36 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("SearchResultId", out objSearchResultId); 37 int searchResultId = int.Parse(objSearchResultId.ToString()); 38 39 string googleMapsLink = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["MapsLink"]); 40 41 var CurrentUser = Dynamicweb.Security.UserManagement.User.GetCurrentUser(); 42 string action = GetString("DWExtranetAction"); 43 string userName = GetString("DWExtranetUsername"); 44 string password = GetString("DWExtranetPassword"); 45 string rememberUsername = GetString("DWExtranetUsernameRemember"); 46 string rememberPassword = GetString("DWExtranetPasswordRemember"); 47 string pageid = GetGlobalValue("Global:Page.ID"); 48 49 var websiteLoop = GetLoop("Item.Area.Websites"); 50 string currentAreaId = GetString("DwAreaID"); 51 52 string globalValueUrl = GetGlobalValue( "Global:Pageview.Url" ); 53 bool isProductPage = string.IsNullOrEmpty( System.Web.HttpContext.Current.Request["productid"] ) == false; 54 string canonicalPageView = String.Format( "{0}://{1}{2}", GetGlobalValue( "Global:Request.Scheme" ), GetGlobalValue( "Global:Request.Host" ), globalValueUrl ); 55 bool printActivated = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.GetString("activatePrint")); 56 string printCssClass = printActivated ? "print-ready" : ""; 57 string doctypeprops1 = string.Empty; 58 string doctypeprops2 = string.Empty; 59 string htmltype = string.Empty; 60 string fixoverflow = string.Empty; 61 62 DateTime today = DateTime.Today; 63 string currentYear = today.ToString("yyyy"); 64 65 var footerNavigationLoop = GetLoop("Item.Area.FooterNavigation"); 66 67 var isCheckout = false; 68 if (checkoutId == int.Parse(pageid)) 69 { 70 isCheckout = true; 71 } 72 string CustomerType = Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.CustomerType.GetCustomerType(); 73 string privateSelected = CustomerType == "Privat" ? "selected" : ""; 74 string companySelected = CustomerType == "Erhverv" ? "selected" : ""; 75 string assetVersion = "2.1.43X"; 76 77 string paymentImage = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["PaymentImage"]); 78 79 string eComCanonicalSnippetTag = RenderSnippet( "eComCanonical" ).ToString().Trim(); 80 string scheme = Dynamicweb.Context.Current.Request.Url.Scheme; 81 string host = Dynamicweb.Context.Current.Request.Url.Host; 82 } 83 84 @SnippetStart("Logo") 85 <a href="/" class="branding"> 86 <img class="img-responsive" src='@logo' alt='@Translate("LogoAlt", "Elma Instruments A/S")'> 87 </a> 88 @SnippetEnd("Logo") 89 90 @if (printActivated) 91 { 92 doctypeprops1 = "\"-//W3C//DTD XHTML 1.0 Strict//EN\""; 93 doctypeprops2 = "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\""; 94 htmltype = "http://www.w3.org/1999/xhtml"; 95 fixoverflow = "overflow:hidden;"; 96 } 97 98 <!DOCTYPE html PUBLIC @doctypeprops1 @doctypeprops2> 99 <html lang="@Pageview.Area.CultureInfo.TwoLetterISOLanguageName" xmlns='@htmltype' style='@fixoverflow'> 100 101 <head> 102 @if (GetBoolean("Item.Area.Custom_Activate_ABTest")) 103 { 104 <!-- AB Split test script DK --> 105 if (currentAreaId == "8") 106 { 107 <script type="text/javascript" src="https://cdn-sitegainer.com/5620463/es6/index.bundle.js"></script> 108 } 109 110 <!-- AB Split test script Se --> 111 if (currentAreaId == "9") 112 { 113 <script type="text/javascript" src="https://cdn-sitegainer.com/5620464/es6/index.bundle.js"></script> 114 } 115 116 <!-- AB Split test script NO --> 117 if (currentAreaId == "10") 118 { 119 <script type="text/javascript" src="https://cdn-sitegainer.com/5620465/es6/index.bundle.js"></script> 120 } 121 122 <!-- anti-flicker snippet (recommended) --> 123 <style> 124 .async-hide { 125 opacity: 0 !important 126 } 127 </style> 128 <script data-cookieconsent="ignore"> 129 (function (a, s, y, n, c, h, i, d, e) { 130 s.className += ' ' + y; h.start = 1 * new Date; 131 h.end = i = function () { s.className = s.className.replace(RegExp(' ?' + y), '') }; 132 (a[n] = a[n] || []).hide = h; setTimeout(function () { i(); h.end = null }, c); h.timeout = c; 133 })(window, document.documentElement, 'async-hide', 'dataLayer', 4000, 134 { 'GTM-567PQPG': true });</script> 135 } 136 @if (!String.IsNullOrEmpty(GetString("Item.Area.CookiebotHeader.Value"))) 137 { 138 <text>@GetString("Item.Area.CookiebotHeader.Value")</text> 139 } 140 141 <!-- Google Tag Manager --> 142 143 <script data-cookieconsent="ignore">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 144 145 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 146 147 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 148 149 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 150 151 })(window,document,'script','dataLayer','GTM-567PQPG');</script> 152 153 <!-- End Google Tag Manager --> 154 155 <meta name="google-site-verification" content="gjghbJwNSc0kdCeOim65Q67ZWJ2QAwQTbg_--ucyRuA"> 156 157 158 <title>@GetValue("Title")</title> 159 @GetValue("MetaTags") 160 @GetValue("CopyRightNotice") 161 162 <link rel="icon" type="image/png" href="/Files/Templates/Designs/Tapas/assets/img/favicon.png"> 163 <meta charset="utf-8"> 164 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 165 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 166 167 @if (System.Web.HttpContext.Current.Request.Url.Host.ToLower().Contains("1stweb")) 168 { 169 <meta name="robots" content="noindex"> 170 } 171 172 @if ( isProductPage == false ) 173 { 174 <link rel="canonical" href="@canonicalPageView"> 175 } 176 else 177 { 178 <link rel="canonical" href="@eComCanonicalSnippetTag"> 179 @GetValue( "MetaTags" ) 180 } 181 182 @RenderSnippet("NoTelephoneDetection") 183 184 <!-- 185 Made by: 186 1st Web 187 Klostergade 56 B 2 th. 188 8000 Aarhus C. 189 www.1stweb.dk 190 --> 191 <!--inject:css--> 192 <link rel="stylesheet" href="/Files/Templates/Designs/Tapas/assets/min/library.min.css?v=@assetVersion"> 193 <link rel="stylesheet" href="/Files/Templates/Designs/Tapas/assets/min/main.min.css?v=@assetVersion"> 194 <!--endinject--> 195 <!-- fonts start --> 196 <link href="https://fonts.googleapis.com/css?family=Lato:400,700,900%7CQuestrial&amp;subset=latin-ext" rel="stylesheet"> 197 <!-- fonts end --> 198 199 @foreach (var script in GetLoop("Item.Area.Scripts")) 200 { 201 @script.GetString("Item.Area.Scripts.Script") 202 } 203 @{ 204 string currentGroupId = Dynamicweb.Context.Current.Request.GetString("GroupID"); 205 var breadCrumbGroupList = Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.EcomGroups.getBreadCrumbGroupList(currentGroupId, true); 206 string productPageID = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["ProductCatalogId"]); 207 string productPageHref = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($"Default.aspx?ID={productPageID}"); 208 int index = 3; 209 Dynamicweb.Ecommerce.Products.Product product = new Dynamicweb.Ecommerce.Products.Product(); 210 string productUrl = ""; 211 212 if (isProductPage) 213 { 214 product = Dynamicweb.Ecommerce.Products.Product.GetProductById(Dynamicweb.Context.Current.Request.GetString("productid")); 215 productUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($"Default.aspx?ID={productPageID}&ProductId={product.Id}"); 216 } 217 218 if (!string.IsNullOrWhiteSpace(currentGroupId) || 219 !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("productid")) || 220 !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("compare")) || 221 !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("Search")) || 222 Dynamicweb.Core.Converter.ToInt32(Pageview.Area.Item["ProductCatalogId"]) == Pageview.ID || 223 GetBoolean("Item.Page.RemoveStandardBreadcrumbs.Value")) 224 { 225 <script type="application/ld+json"> 226 { 227 "@@context": "https://schema.org", 228 "@@type": "BreadcrumbList", 229 "itemListElement": 230 [ 231 @RenderSchemaItem(@Translate("Firstweb.Content.Breadcrumbs.Frontpage", "Forside"), "", 1), 232 @RenderSchemaItem(@Translate("Firstweb.Content.Breadcrumbs.ProductPage", "Produkter"), productPageHref, 2) 233 @foreach (var g in breadCrumbGroupList) 234 { 235 <text>,</text> 236 string breadCrumbLink = $"Default.aspx?ID={productPageID}&GroupID={g.Id}"; 237 string friendlyBreadCrumbLink = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(breadCrumbLink); 238 @RenderSchemaItem(g.Name, friendlyBreadCrumbLink, index) 239 index++; 240 } 241 @if (isProductPage) 242 { 243 <text>,</text> 244 @RenderSchemaItem(product.Name, productUrl, index) 245 } 246 ] 247 } 248 </script> 249 } 250 251 if (isProductPage) 252 { 253 List<string> productImages = Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.ProductImages.getProductImages(product.Id); 254 var ProductPriceInfo = product.GetPrice(Dynamicweb.Ecommerce.Common.Context.Currency.Code, Dynamicweb.Ecommerce.Common.Context.Country.Code2); 255 <script type="application/ld+json"> 256 { 257 "@@context": "https://schema.org", 258 "@@type": "Product", 259 "@@id": "@(scheme + "://" + host + productUrl)", 260 "name": "@product.Name", 261 @if (!string.IsNullOrEmpty(product.ShortDescription)){<text>"description": "@product.ShortDescription",</text>} 262 "image": [ 263 "@(scheme + "://" + host + productImages.First())" 264 ], 265 "sku": "@product.Number", 266 "gtin13": "@product.Number", 267 "brand": { 268 "@@type": "Brand", 269 "name": "ELMA" 270 }, 271 "url": "@(scheme + "://" + host + productUrl)", 272 @if(ProductPriceInfo.PriceWithVAT > 0) 273 { 274 <text>"offers": { 275 "@@type": "Offer", 276 "url": "@(scheme + "://" + host + productUrl)", 277 "price": "@ProductPriceInfo.PriceWithVAT.ToString().Replace(',','.')", 278 "priceCurrency": "@Dynamicweb.Ecommerce.Common.Context.Currency.Code", 279 "availability": @if(product.Stock > 0){<text>"https://schema.org/InStock"</text>}else{<text>"https://schema.org/OutOfStock"</text>} 280 281 },</text> 282 } 283 "itemCondition": "https://schema.org/NewCondition" 284 } 285 </script> 286 } 287 288 if (GetString("Item.SystemName") == "News") 289 { 290 <script type="application/ld+json"> 291 { 292 "@@context": "https://schema.org", 293 "@@type": "Article", 294 "headline": "@GetString("Item.NewsHeader")", 295 "description": "@System.Web.HttpUtility.HtmlEncode(GetString("Item.NewsTeaser.Value"))", 296 "image": [ 297 "@(scheme + "://" + host + GetString("Item.NewsImage.Value"))" 298 ], 299 "datePublished": "@GetString("Item.NewsDate.Value")", 300 "author": { 301 "@@type": "Organization", 302 "name": "Elma Instruments" 303 }, 304 "publisher": { 305 "@@type": "Organization", 306 "name": "Elma Instruments", 307 "logo": { 308 "@@type": "ImageObject", 309 "url": "https://elma.dk/media/elma-logo.png" 310 } 311 }, 312 "mainEntityOfPage": { 313 "@@type": "WebPage", 314 "@@id": "@(scheme + "://" + host + Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($"Default.aspx?ID={Pageview.Page.ID}"))" 315 } 316 } 317 </script> 318 } 319 } 320 321 <!--inject:css--><!--endinject--> 322 @GetValue("Stylesheets") 323 @GetValue("Javascripts") 324 </head> 325 326 327 <body class="@printCssClass" data-bind="closeMenuItems: { menuOpenObservable: menuOpen, miniCartVisibleObservable: miniCartVisible }, css: { 'loading': load().active }"> 328 <!-- Google Tag Manager (noscript) --> 329 <noscript> 330 <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-567PQPG" height="0" width="0" style="display:none;visibility:hidden"></iframe> 331 </noscript> 332 <!-- End Google Tag Manager (noscript) --> 333 <!-- ko if: responsive--> 334 <div class="mobileSection visible-sm visible-xs" data-bind="css: { 'open': showResponsiveMenu }"> 335 <div class="mobile-menu-closer" data-bind="click: toggleResponsiveMenu"> 336 </div> 337 @GetValue("DwNavigation(responsivenav)") 338 </div> 339 <!-- /ko --> 340 341 <div class="desktopSection js-wrapper" data-bind="css: { 'open': showResponsiveMenu }"> 342 @if (printActivated == false) 343 { 344 345 <header class="header"> 346 347 <div class="header__primary" data-bind="floatingMenu"> 348 <div class="header__secondary hidden-print"> 349 <div class="container"> 350 <div class="header__secondary__inner hidden-xs"> 351 <div class="vat-selector"> 352 <button class="@companySelected" data-bind="click: setCustomerType.bind($data, 'Erhverv')">@Translate("Erhverv", "Erhverv")</button> 353 <button class="@privateSelected" data-bind="click: setCustomerType.bind($data, 'Privat')">@Translate("Privat", "Privat")</button> 354 </div> 355 <nav class="navigation navigation--secondary"> 356 @GetValue("DwNavigation(dwtopnav)") 357 </nav> 358 </div> 359 </div> 360 </div> 361 <div class="header__primary__inner"> 362 @RenderSnippet("Logo") 363 364 <div class="navigation-links"> 365 366 <!-- ko ifnot: responsive--> 367 <nav class="navigation navigation--primary visible-md visible-lg"> 368 @GetValue("DwNavigation(dwnav)") 369 </nav> 370 <!-- /ko --> 371 372 <div class="header__search visible-md visible-lg js-instant-search-container" data-bind="viewModel: Tapas.ViewModels.InstantSearchViewModel"> 373 <div data-bind="instantSearchButtonControls: '.productCount'"> 374 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 375 @using Dynamicweb.Rendering; 376 377 <form style="margin-bottom: 0;" name="EcomSearch" method="get" action="Default.aspx" data-bind='value: instantSearchPageId(@instantSearchId), loadOnBool: { observableBool: CartLoading, text: "@Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.Base.JSTrimTranslation(Translate("addproduct", "Tilf&oslash;jer produkt"))" }'> 378 <div class="instant-search-form"> 379 <input type="hidden" name="ID" value="@searchResultId"> 380 <input type="text" placeholder='@Translate("SearchForProduct", "Søg efter produkt")' id="instantSearch" class="form-control" data-bind="textInput: searchQuery" autocomplete="off" name="Search"> 381 <span class="instant-search-icon" data-bind="submitParentForm, css: { animate: searchLoading }"> 382 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="#97c93d" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg> 383 </span> 384 </div> 385 386 <div class="result instant-search-results container elma-card" data-bind="html: result, visible: allResults"> 387 </div> 388 </form> 389 </div> 390 </div> 391 392 <div class="header__actions"> 393 394 <div class="item mobile-search visible-xs visible-sm" data-bind="menu, focusFirstInputOnClick"> 395 <div class="elma-menu-icon"> 396 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="#97c93d" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg> 397 </div> 398 <div class="search-container"> 399 <div class="header__search js-instant-search-container" data-bind="viewModel: Tapas.ViewModels.InstantSearchViewModel"> 400 <div data-bind="instantSearchButtonControls: '.productCount'"> 401 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 402 @using Dynamicweb.Rendering; 403 404 <form style="margin-bottom: 0;" name="EcomSearch" method="get" action="Default.aspx" data-bind='value: instantSearchPageId(@instantSearchId), loadOnBool: { observableBool: CartLoading, text: "@Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.Base.JSTrimTranslation(Translate("addproduct", "Tilf&oslash;jer produkt"))" }'> 405 <div class="instant-search-form"> 406 <input type="hidden" name="ID" value="@searchResultId"> 407 <input type="text" placeholder='@Translate("SearchForProduct", "Søg efter produkt")' id="instantSearch" class="form-control" data-bind="textInput: searchQuery" autocomplete="off" name="Search"> 408 <span class="instant-search-icon" data-bind="submitParentForm, css: { animate: searchLoading }"> 409 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="#97c93d" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg> 410 </span> 411 </div> 412 413 <div class="result instant-search-results container elma-card" data-bind="html: result, visible: allResults"> 414 </div> 415 </form> 416 </div> 417 </div> 418 </div> 419 </div> 420 421 @if (CurrentUser != null) 422 { 423 <div class="item user-menu" data-bind="menu"> 424 <div class="elma-menu-icon"> 425 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user" class="svg-inline--fa fa-user fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 448 512"><path fill="#97c93d" d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path></svg> 426 </div> 427 @GetValue("DwNavigation(usernavigation)") 428 </div> 429 } 430 else 431 { 432 <div class="item user-menu" data-toggle="modal" data-target=".loginModal"> 433 <div class="elma-menu-icon"> 434 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user" class="svg-inline--fa fa-user fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 448 512"><path fill="#97c93d" d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path></svg> 435 </div> 436 <div class="dropDown elma-card elma-card--white"> 437 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 438 @using Dynamicweb.Rendering; 439 440 <div class="loginDetails login-container"> 441 <div> 442 <div class="dropdown UserLinks" data-bind="visible: $root.User().IsLoggedIn()" style="display: none;"> 443 <a id="user" data-toggle="dropdown" role="button"> 444 <i class="elma-icon-lock"></i>&nbsp;&nbsp;<span data-bind="text: $root.User().Name"></span><span class="caret"></span> 445 </a> 446 @GetValue("DwNavigation(dwusernav)") 447 </div> 448 </div> 449 </div> 450 </div> 451 </div> 452 } 453 454 <div class="item cart-info" data-bind="viewModel: Elma.ViewModels.MiniCartViewModel, menu, css: { 'visible': miniCartVisible }"> 455 <div class="elma-menu-icon"> 456 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="shopping-cart" class="svg-inline--fa fa-shopping-cart fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 576 512"><path fill="#97c93d" d="M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"></path></svg> 457 </div> 458 <span class="count-indicator" data-bind="css: { ShowCartIndicator: ShowCartIndicator }, text: Cart().TotalProductLines"></span> 459 <div class="dropDown miniCart elma-card"> 460 <div class="col-md-12 col-sm-12 col-xs-12 customTable"> 461 <div class="row tableRow"> 462 <div class="col-md-12 col-sm-12 col-xs-12"> 463 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 464 @using Dynamicweb.Rendering; 465 466 @{ 467 var currentLocale = GetGlobalValue("Global:Area.LongLang"); 468 bool IsPrivateCustomer = Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.CustomerType.GetCustomerType() == "Privat"; 469 } 470 471 <div class="col-md-12 col-sm-12 col-xs-12 headlineBlock" data-bind="visible: ShowEmptyMiniCart"> 472 <h2 class="headline">@Translate("yourorderlines", "Ordrelinjer")</h2> 473 <a href="/Default.aspx?ID=@checkoutId&step=1" class="quickAdd btn btn-primary quick-search-btn pull-right"> 474 @Translate("gotopayment", "Til betaling") 475 </a> 476 </div> 477 478 <div class="col-md-12 col-sm-12 col-xs-12 headlineBlock" data-bind="visible: !ShowEmptyMiniCart()"> 479 <h2 class="headline">@Translate("cartisempty", "Din kurv er tom")</h2> 480 </div> 481 482 <div class="col-md-12 col-sm-12 col-xs-12 orderlines" data-bind="visible: ShowEmptyMiniCart"> 483 <div class="row"> 484 <div class="col-md-12 col-sm-12 col-xs-12"> 485 <div class="row minicart-tableheader"> 486 <div class="col-md-5 col-sm-5 col-xs-5 miniCart name">@Translate("ItemName", "Vare")</div> 487 <div class="col-md-2 col-md-offset-0 col-sm-offset-0 col-sm-2 col-xs-2 miniCart alignRight unitPrice hidden-xs">@Translate("UnitPrice", "Enhedspris")</div> 488 <div class="col-md-2 col-md-offset-0 col-sm-offset-0 col-sm-2 col-xs-3 col-xs-offset-0 miniCart alignRight quantity">@Translate("quantity", "Antal")</div> 489 <div class="col-md-2 col-sm-2 col-xs-3 miniCart alignRight totalPrice">@Translate("total", "Total")</div> 490 </div> 491 </div> 492 <div class="col-md-12 col-sm-12 col-xs-12" data-bind="foreach: { data: Cart().CartLines.slice(0).reverse(), as: 'cartItem', afterRender: EverythingHasLoaded }"> 493 <div class="orderLine"> 494 <div class="product-info" data-bind="attr: {'data-product-info': [cartItem.ProductName(), cartItem.ProductNumber(), 'Denmark', '0', cartItem.ProductUnitPriceWithVat(), 'Elma', 'Elma']}"></div> 495 <div class="row"> 496 <div class="col-md-5 col-sm-5 col-xs-6 miniCart name"> 497 <h5 class="no-margin-top"><strong data-bind="text: cartItem.ProductName"></strong></h5> 498 <p class="desktop-inline-block">@Translate("Firstweb:Product.ProductInfo.Eannumber", "EAN:"): <span data-bind="text: cartItem.ProductNumber"></span></p> 499 <div data-bind="foreach: { data: cartItem.CustomProductFields, as: 'pf'}" class="desktop-inline-block"> 500 <p data-bind="if: $data.Id() == 'FirstwebElNo'"><span class="hidden-xs"> / </span>@Translate("Firstweb:Product.ProductInfo.Elnumber", "EL-NR.:") <span data-bind="text: $data.Value()"></span></p> 501 </div> 502 </div> 503 @if (IsPrivateCustomer) 504 { 505 <div class="col-md-2 col-sm-2 col-xs-2 miniCart alignRight unitPrice hidden-xs" data-bind="formatNumber: { locale: '@currentLocale', observable: cartItem.ProductUnitPriceWithVat }"></div> 506 } 507 else 508 { 509 <div class="col-md-2 col-sm-2 col-xs-2 miniCart alignRight unitPrice hidden-xs" data-bind="formatNumber: { locale: '@currentLocale', observable: cartItem.ProductUnitPrice }"></div> 510 } 511 <div class="col-md-1 col-md-offset-1 col-sm-1 col-xs-2 miniCart alignRight quantity col-sm-offset-1 custom-spinedit"><input class="spinedit-input" type="tel" data-bind="value: cartItem.Quantity, spinEdit: { minimum: 1 }, event: { change: $parent.UpdateQuantity }, attr: {'ftw-olid': LineId }"></div> 512 @if (IsPrivateCustomer) 513 { 514 <div class="col-md-2 col-sm-2 col-xs-3 miniCart alignRight totalPrice" data-bind="formatNumber: { locale: '@currentLocale', observable: ProductPrice }"></div> 515 } 516 else 517 { 518 <div class="col-md-2 col-sm-2 col-xs-3 miniCart alignRight totalPrice" data-bind="formatNumber: { locale: '@currentLocale', observable: ProductPriceWithoutVAT }"></div> 519 } 520 <div data-bind="click: $parent.DeleteOrderLine, attr: {'ftw-olid': cartItem.LineId }" class="col-md-1 col-sm-1 col-xs-1 miniCart delete">X</div> 521 </div> 522 </div> 523 </div> 524 <div class="col-md-12 col-sm-12 col-xs-12 mini-cart-total"> 525 <div class="full-width text-right miniCart summary"> 526 @Translate("Cart.TotalWithoutVat", "Total beløb ekls. moms") <span data-bind="formatNumber: { locale: '@currentLocale', observable: CartTotalAmountNoVat }">@GetString("Ecom:Order.PriceWithoutFees.PriceWithoutVAT") </span> @GetString("Ecom:Order.Currency.Code") 527 </div> 528 <div class="full-width text-right miniCart summary"> 529 @Translate("Cart.TotalWithVat", "Total beløb inkl. moms") <span data-bind="formatNumber: { locale: '@currentLocale', observable: CartTotalAmount }">@GetString("Ecom:Order.PriceWithoutFees.PriceWithVAT")</span> @GetString("Ecom:Order.Currency.Code") 530 </div> 531 </div> 532 </div> 533 </div> 534 535 536 </div> 537 </div> 538 </div> 539 </div> 540 </div> 541 542 <div class="collapseBtn js-collapse-btn" data-bind="click: toggleResponsiveMenu"></div> 543 544 </div> 545 546 </div> 547 </div> 548 </div> 549 </header> 550 } 551 552 553 554 @using Dynamicweb.Environment 555 556 557 @{ 558 var hasGroupId = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("groupid")); 559 var hasProductId = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("productid")); 560 var hasCompare = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("compare")); 561 var hasSearch = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("Search")); 562 int productPageId = Dynamicweb.Core.Converter.ToInt32(Pageview.Area.Item["ProductCatalogId"]); 563 bool disabledBreadcrumbs = GetBoolean("Item.Page.RemoveStandardBreadcrumbs.Value"); 564 var isEcom = hasGroupId || hasProductId || hasCompare || hasSearch || productPageId == Pageview.ID || disabledBreadcrumbs; 565 } 566 567 <div class="container-fluid"> 568 <div class="row"> 569 <div class="col-xs-12"> 570 <div class="row header-image" id="headerImage">@GetValue("DwContent(headerImage)")</div> 571 </div> 572 </div> 573 </div> 574 575 @if (isEcom == false) 576 { 577 578 @* only show breadcrumbs on non-ecom pages *@ 579 @* ecom pages have their own custom breadcrumbs from our 1stweb helpers *@ 580 581 <div class="container"> 582 <div class="row"> 583 @RenderNavigation(new 584 { 585 template = "breadcrumbs.xslt", 586 id = "breadcrumb", 587 sitemapmode = "true", 588 homepageText = Translate("homepage", "Forside") 589 }) 590 </div> 591 </div> 592 } 593 594 <div id="headlineOneColumn">@GetValue("DwContent(headlineOneColumn)")</div> 595 596 <div id="content1">@GetValue("DwContent(content1)")</div> 597 598 @if (!printActivated) 599 { 600 <section class="newsletter"> 601 <div class="container"> 602 <div class="row flex-row align-items-center"> 603 <div class="col-md-4"> 604 <p class="newsletter__heading--large">@Translate("NewsletterText.Heading", "Tilmeld dig E-News!")</p> 605 <p class="newsletter__heading">@Translate("NewsletterText", "Hold dig opdateret og få vores fantastiske tilbud i din indbakke")</p> 606 </div> 607 <div class="col-md-8"> 608 @RenderPageContent(newsletterId) 609 </div> 610 </div> 611 </div> 612 </section> 613 614 <footer class="footer hidden-print"> 615 <div class="container"> 616 @RenderItem(new { ItemType = "WebshopFooter", SourceItemEntry = footerId, ItemFields = "*", DetailsTemplate = "RenderItem/footer.cshtml" }) 617 <div class="row flex-row footer__secondary"> 618 <div class="col-xs-12 col-md-4 footer__secondary-item"> 619 <p>@Translate("PaymentText", "Betalingsmetoder")</p> 620 <img src="@paymentImage" alt="" style="height: 30px;"> 621 </div> 622 623 <div class="col-xs-12 col-md-4 justify-content-center footer__secondary-item footer__secondary-item--nav"> 624 @foreach (var footerNavItem in footerNavigationLoop) { 625 string itemText = footerNavItem.GetString("Item.Area.FooterNavigation.ColText.Value"); 626 string itemLink = footerNavItem.GetString("Item.Area.FooterNavigation.ColLink.Value"); 627 <a href="@itemLink">@itemText</a> 628 } 629 </div> 630 <div class="col-xs-12 col-md-4 footer__secondary-item"> 631 <p>© @currentYear @Translate("ElmaCopyrightText", "Elma Instruments. All Rights Reserved.")</p> 632 </div> 633 </div> 634 </div> 635 </footer> 636 637 <div class="overlay"> 638 <div class="loader"> 639 <div class="dot"></div> 640 <div class="dot"></div> 641 <div class="dot"></div> 642 <div class="loaderText" data-bind="text: load().text"></div> 643 </div> 644 </div> 645 646 <div class="modal fade js-customer-type-modal customer-type-modal" id="customerTypeSelector" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 647 <div class="modal-dialog" role="document"> 648 <div class="modal-content elma-card elma-card--padded"> 649 <div class="modal-body"> 650 <p class="customer-type-modal_header">@Translate("CustomerTypeModal.Header", "V&aelig;lg kundetype")</p> 651 <button type="button" class="btn btn-secondary" data-bind="click: setCustomerType.bind($data, 'Privat')">@Translate("Privat", "Privat")</button> 652 <button type="button" class="btn btn-secondary" data-bind="click: setCustomerType.bind($data, 'Erhverv')">@Translate("Erhverv", "Erhverv")</button> 653 </div> 654 </div> 655 </div> 656 </div> 657 658 <a href='@googleMapsLink' class="display-none-sm find-me-container text-center border-top-radius-left" rel='noopener noreferrer' target='_blank'> 659 <div class="footer-trigger-icon"> 660 <i class="elma-icon-find-me"></i> 661 </div> 662 <p class="footer-trigger-text">@Translate("footerFindMe", "Find os")</p> 663 </a> 664 665 666 <div class="newsletter-widget" data-bind="css: { 'open': showNewsletterWidget }, value: newsletterModal = '.newsletter-modal' "> 667 668 <div class="newsletter-open text-center border-top-radius-right" data-bind="click: toggleNewsletterWidget"> 669 <div class="footer-trigger-icon"> 670 <i class="elma-icon-newsletter"></i> 671 </div> 672 <p class="footer-trigger-text">@Translate("newsletterOpenTag", "Nyhedsbrev")</p> 673 </div> 674 675 <div class="newsletter-content elma-card"> 676 <div class="newsletter-close" data-bind="click: hideNewsletterWidget"></div> 677 <form name="UserManagementEditForm" data-bind="submit: submitNewsletterSubscription, value: newsletterFormID = '@newsletterId'"> 678 <input type="hidden" name="UserManagementForm" value="1"> 679 <input type="hidden" id="HiddenField.CustomField.AccessUser_AccessUser_NewsletterSubscription" name="CustomField.AccessUser_AccessUser_NewsletterSubscription" value="True"> 680 <input name="UserManagement_Form_EmailAllowed" type="hidden" id="UserManagement_Form_EmailAllowed" value="True"> 681 <input name="UserManagement_Form_EmailAllowed_ApplyValue" type="hidden" id="UserManagement_Form_EmailAllowed_ApplyValue" value="AllowEmail"> 682 683 <div class="newsletter-head"> 684 @Translate("Nesletter.Header", "Tilmeld dig E-news!") 685 </div> 686 687 <div class="newsletter-subhead"> 688 <p> 689 @Translate("Nesletter.Subhead1", "Tilmeld dig vores sp&aelig;ndende nyhedsbrev og f&aring; alle de gode tilbud og nyheder f&oslash;rst.") 690 </p> 691 <p> 692 @Translate("Newsletter.Subhead2", "Det eneste du skal g&oslash;re er at udfylde nedenfor.") 693 </p> 694 </div> 695 <div class="row"> 696 <div class="col-sm-6"> 697 <input name="UserManagement_Form_Name" class="form-control" id="UserManagement_Form_Name" type="text" placeholder='@Translate("Newsletter.Input.Name", "Skrit dit navn")' required=""> 698 </div> 699 <div class="col-sm-6"> 700 <input name="UserManagement_Form_Email" class="form-control" id="UserManagement_Form_Email" type="email" placeholder='@Translate("Newsletter.Input.Email", "Skrit din E-mail")' required=""> 701 </div> 702 </div> 703 704 <div class="row"> 705 <div class="col-sm-12 newsletter-checkbox"> 706 <label class="bs-label"> 707 <input class="checkbox-field bs" type="checkbox" name="CustomField.AccessUser_AccessUser_NewsMagazineSubscription" data-bind="checked: newsMagazineSubscription"> 708 <span class="checkbox-text">@Translate("Newsletter.SubscribeToMagazine", "Jeg &oslash;nsker ogs&aring; at modtage Elma's nyhedsmagasin Instrument News med posten")</span> 709 </label> 710 </div> 711 </div> 712 713 <div class="row"> 714 <div class="col-sm-12 hide" data-bind="css: {'show': newsMagazineSubscription }"> 715 <div class="form-group"> 716 <input class="form-control" name="UserManagement_Form_Company" type="text" maxlength="255" placeholder='@Translate("Newsletter.Company", "Firmnavn")' value=""> 717 </div> 718 <div class="form-group"> 719 <input class="form-control" name="UserManagement_Form_FirstName" type="text" maxlength="255" placeholder='@Translate("Newsletter.Name", "Navn")' value=""> 720 </div> 721 <div class="form-group"> 722 <input class="form-control" name="UserManagement_Form_Address" type="text" maxlength="255" placeholder='@Translate("Newsletter.Address", "Adresse")' value=""> 723 </div> 724 <div class="row form-group"> 725 <div class="col-sm-4"> 726 <input class="form-control" name="UserManagement_Form_Zip" type="text" maxlength="255" placeholder='@Translate("Newsletter.Zip", "Postnr")' value=""> 727 </div> 728 <div class="col-sm-8"> 729 <input class="form-control" name="UserManagement_Form_City" type="text" maxlength="255" placeholder='@Translate("Newsletter.City", "By")' value=""> 730 </div> 731 </div> 732 </div> 733 </div> 734 735 <button class="btn btn-block btn-primary" type="submit" data-bind="disable: newsletterSubmitting">@Translate("Newsletter.Submit", "Tilmeld nyhedsbrev")</button> 736 </form> 737 </div> 738 </div> 739 740 <div class="newsletter-modal modal fade" tabindex="-1" role="dialog" data-bind="css: { 'subSuccess': newsletterSubscriptionStatus, 'subError': !newsletterSubscriptionStatus() }"> 741 <div class="modal-dialog"> 742 <div class="modal-content"> 743 <div class="modal-header"> 744 <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> 745 <h4 class="modal-title subSuccess">@Translate("newslettersuccess", "Du er nu tilmeldt nyhedsbrev!")</h4> 746 <h4 class="modal-title subError">@Translate("newslettererror", "Der skete en uventet fejl, pr&oslash;v igen senere.")</h4> 747 </div> 748 749 <div class="modal-footer"> 750 <button type="button" class="button" data-dismiss="modal" aria-label="Close">@Translate("newsletterbtn", "okay")</button> 751 </div> 752 </div> 753 </div> 754 </div> 755 756 <div class="js-backdrop elma-backdrop hide-elm"></div> 757 } 758 </div> 759 760 <div data-bind="viewModel: Elma.ViewModels.LoginViewModel"> 761 762 @{ 763 string forgotEmail = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["ForgotEmail"]); 764 string forgotPasswordEmailSubject = Translate("ForgotPasswordMailSubject", "Her er dit password"); 765 } 766 767 @if (!string.IsNullOrEmpty(forgotEmail)) 768 { 769 <!-- ko initValue: {observable: dwForgotEmail, value:'@forgotEmail'}--><!-- /ko--> 770 } 771 772 @* Because of happy DW - we need to add ../ before the path in order for Extranet to find the correct path *@ 773 774 <!-- ko initValue: {observable: dwForgotPasswordMailTemplate, value:'../Extranet/mail.cshtml'}--><!-- /ko--> 775 <!-- ko initValue: {observable: dwForgotPasswordMailSubject, value:'@Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.Base.JSTrimTranslation(forgotPasswordEmailSubject)'}--><!-- /ko--> 776 <!--Login popup--> 777 <div class="modal loginModal container" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"> 778 <div class="modal-dialog elma-card elma-card--white"> 779 <div class="popupBox login modal-content"> 780 <div class="modal-header"> 781 <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> 782 <span class="modal__title m-t-0">@Translate("login", "Log ind")</span> 783 </div> 784 <div class="modal-body" data-bind="Fadevisible: ToggleForgottenPassword, delayIn:250"> 785 <form name="ExtUserForm" id="ExtUserForm" method="post" action="@action"> 786 <div class="form"> 787 <div class="form-group"> 788 <input class="form-control" type="text" name="Username" placeholder='@Translate("username", "Brugernavn")' value="@userName" data-bind="value: UserName, hasFocus: addFocus" required=""> 789 </div> 790 <div class="form-group"> 791 <input class="form-control" type="password" name="Password" placeholder='@Translate("password", "Adgangskode")' value="@password" data-bind="value: Password" required=""> 792 </div> 793 794 </div> 795 <div class="action"> 796 <div class="pull-left"> 797 <label class="customRadio"> 798 <input type="checkbox" name="Autologin" data-bind="checked: rememberMe"> 799 <div class="radio"></div> 800 @Translate("stayloggedin", "Husk mig") 801 </label> 802 <div class="forgottenPass elma-link elma-link--grey" data-bind="toggleClick: ToggleForgottenPassword"> 803 @Translate("forgottenpassword", "Glemt adgangskode") 804 </div> 805 806 <div class="modal-login-failed" data-bind="visible: LoginFailed"> 807 <div class="alert alert-danger"> 808 @Translate("LoginFailed", "Du har indtastet et forkert kode eller forkert brugernavn, Prøv venligst igen") 809 </div> 810 </div> 811 <div class="row" data-bind="visible: LoginWrongDomain"> 812 <div class="col-sm-12"> 813 <div class="alert alert-danger"> 814 @Translate("LoginWrongDomain", "Du har logget ind på det forkerte domæne") 815 </div> 816 </div> 817 </div> 818 </div> 819 <div class="modal-buttons pull-right"> 820 <div class="btn btn-secondary" data-bind="click: newUser"> 821 @Translate("donthavealogin", "Opret bruger") 822 </div> 823 <button class="btn btn-primary pull-right" tabindex="3" value="LOG IND" data-bind="click: Login, toggleClick: Loader">@Translate("login", "Log ind")</button> 824 </div> 825 <span data-bind="Fadevisible: !Loader(), css:{ loginsuccess : $root.User().IsLoggedIn(), loginFail : LoginFailed() }" class="ringLoader"></span> 826 </div> 827 </form> 828 </div> 829 <div class="modal-body forgotten" data-bind="Fadevisible: !ToggleForgottenPassword(), delayIn:250"> 830 <div class="back" data-bind="toggleClick: ToggleForgottenPassword">@Translate("back", "Tilbage")</div> 831 <div class="action"> 832 <form name="ExtUserForm" id="ExtUserForm" method="post" action="@action" data-bind="submit: recover"> 833 <input type="text" class="form-control" name="Email" placeholder='@Translate("email", "Email")' data-bind="value: email" required=""> 834 <div class="confirmation" data-bind="html: confirmation"></div> 835 <button type="submit" class="btn btn-primary pull-right col-xs-12" tabindex="3">@Translate("getpassword", "F&aring; tilsendt kode")</button> 836 <span data-bind="Fadevisible: ForgottenLoader" class="ringLoader"></span> 837 </form> 838 </div> 839 </div> 840 </div> 841 </div> 842 </div> 843 <!--New user popup--> 844 <div class="modal newUser fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" data-bind="value: newUserModal = '.newUser'"> 845 <div class="modal-dialog"> 846 <div class="popupBox login modal-content"> 847 <!-- ko initValue: {observable: userType, value:'1'}--><!-- /ko--> 848 849 <div class="modal-header subHeading"> 850 <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> 851 <span data-bind="visible: !successOrFail()">@Translate("makenewuser", "Opret ny bruger")</span> 852 <span data-bind="visible: successOrFail">@Translate("congratulations", "Tillykke.")</span> 853 </div> 854 <div class="modal-body" data-bind="value: loginId = @loginId, visible: !successOrFail()"> 855 <form name="MakeNewUserForm" id="MakeNewUserForm" data-bind="createUser: { link: '/Handlers/Firstweb.ERP.Users.ashx?cmd=createcustomer', type: 'login'}"> 856 <div class="form"> 857 <div class="form-group margin-top-half margin-bottom-half"> 858 <label class="radio-inline bs-label block-radio" for="customertype_1"> 859 <input type="radio" class="bs" name="customertype" id="customertype_1" value="1" data-bind="checked: userType" checked="checked"> <span>@Translate("CustomerType_1", "Privat")</span> 860 </label> 861 <label class="radio-inline bs-label block-radio" for="customertype_2"> 862 <input type="radio" data-bind="checked: userType" class="bs" name="customertype" id="customertype_2" value="2"> <span>@Translate("CustomerType_2", "Virksomhed")</span> 863 </label> 864 865 <label class="radio-inline bs-label block-radio" for="customertype_3"> 866 <input type="radio" data-bind="checked: userType" class="bs" name="customertype" id="customertype_1" value="3"> <span>@Translate("CustomerType_3", "Offentlig")</span> 867 </label> 868 </div> 869 870 <div class="form-group js-form-group"> 871 <label for="Companyname"> 872 @Translate("companyname", "Firmanavn") 873 </label> 874 <input class="form-control" type="text" name="Companyname" placeholder="" data-bind="hasFocus: makeNewUserOpen, value: companyName, renderInputForm: { myArray: visibleFields, name: 'company'}" required=""> 875 </div> 876 877 <div class="form-group"> 878 <label for="Name"> 879 @Translate("contactperson", "Kontaktperson") 880 </label> 881 <input class="form-control" type="text" name="Name" placeholder="" data-bind="value: contactperson" required=""> 882 </div> 883 884 <div class="form-group"> 885 <label for="Address1"> 886 @Translate("address1", "Adresse 1") 887 </label> 888 <input class="form-control" type="text" name="address" placeholder="" data-bind="value: address1" required=""> 889 </div> 890 891 <div class="form-group"> 892 <label for="Address2"> 893 @Translate("address2", "Adresse 2") 894 </label> 895 <input class="form-control" type="text" name="Address2" placeholder="" data-bind="value: address2"> 896 </div> 897 898 <div class="form-group js-form-group"> 899 <label for="cvr"> 900 @Translate("cvr", "CVR nr.") 901 </label> 902 <input class="form-control" type="tel" name="cvr" placeholder="" data-bind="value: cvr, renderInputForm: { myArray: visibleFields, name: 'cvr'}"> 903 </div> 904 905 906 <div class="form-group js-form-group"> 907 <label for="ean"> 908 @Translate("ean", "EAN nr.") 909 </label> 910 <input class="form-control" type="tel" name="ean" placeholder="" data-bind="value: ean, renderInputForm: { myArray: visibleFields, name: 'ean'}"> 911 </div> 912 913 <div class="form-group"> 914 <div class="row"> 915 <div class="col-sm-6 mobile-m-b-15"> 916 <label for="zip"> 917 @Translate("zip", "Postnr.") 918 </label> 919 <input class="form-control" type="tel" name="zipcode" placeholder="" data-bind="value: zip" required=""> 920 </div> 921 <div class="col-sm-6"> 922 <label for="city"> 923 @Translate("city", "By") 924 </label> 925 <input class="form-control" type="text" name="city" placeholder="" data-bind="value: city" required=""> 926 </div> 927 </div> 928 929 930 </div> 931 932 933 <div class="form-group"> 934 <label for="country"> 935 @Translate("country", "Land") 936 </label> 937 938 <select name="country" class="form-control"> 939 @foreach (var item in Dynamicweb.Ecommerce.International.Country.GetCountries()) 940 { 941 var selected = item.Code2 == Dynamicweb.Ecommerce.Common.Context.Country.Code2 ? "selected" : ""; 942 <option value="@item.Code2" @selected="">@item.CountryText.Name</option> 943 } 944 </select> 945 946 @*<input class="form-control" type="text" name="country" placeholder="" data-bind="value: country">*@ 947 </div> 948 949 <div class="form-group"> 950 <label for="Email"> 951 952 @Translate("email", "E-mail") 953 </label> 954 <input class="form-control" type="email" name="Email" placeholder="" data-bind="value: useremail" required=""> 955 </div> 956 957 958 <div class="form-group"> 959 <label for="Phone"> 960 @Translate("phone", "Telefon") 961 </label> 962 <input class="form-control" type="tel" name="Phone" placeholder="" data-bind="value: phone" required=""> 963 </div> 964 <div class="form-group"> 965 <label for="Password"> 966 @Translate("password", "Adgangskode") 967 </label> 968 <input class="form-control" type="password" name="Password" placeholder="" required=""> 969 </div> 970 971 972 <div class="row"> 973 <div class="col-sm-12 margin-bottom-half"> 974 <div class="checkbox"> 975 <label class="bs-label"> 976 <input class="bs" type="checkbox" name="NewsletterSubscription" id="newslettersubscription" value="True"> 977 <span>@Translate("NewsletterSubscriptionLabel", "Jeg &oslash;nsker at modtage Elma E-news (nyhedsbrev p&aring; e-mail)")</span> 978 </label> 979 @if (GetString("LongLang") != "en-GB") 980 { 981 <label class="bs-label"> 982 <input class="bs" type="checkbox" name="NewsMagazineSubscription" id="newsmagazinesubscription" value="True"> 983 <span>@Translate("NewsMagazineSubscriptionLabel", "Jeg &oslash;nsker ogs&aring; at modtage Elma's nyhedsmagasin Instruments News med posten")</span> 984 </label> 985 } 986 </div> 987 </div> 988 </div> 989 990 <input type="hidden" name="groups" id="groups" data-bind="value: group = 5"> 991 <div class="status error-180 margin-bottom-desktop">@Translate("mailalreadyexists", "E-mail adressen er allerede i brug")</div> 992 </div> 993 <div class="action"> 994 <button class="btn btn-primary pull-right mobile-full-width" tabindex="3">@Translate("makenewuser", "Opret ny bruger")</button> 995 <span data-bind="Fadevisible: newUserLoader" class="ringLoader"></span> 996 </div> 997 </form> 998 </div> 999 <div class="modal-body confirmation" data-bind="visible: successOrFail"> 1000 <h2>@Translate("youhavemadeanewuser", "Du er nu oprettet som bruger")</h2> 1001 <p class="margin-bottom-half">@Translate("wehavesentaemailwithuserdetails", "- Vi har sendt en E-mail med brugeroplysninger.")</p> 1002 <button class="btn btn-primary" tabindex="3" data-dismiss="modal" value="luk">@Translate("closepopup", "Luk popup")</button> 1003 </div> 1004 </div> 1005 </div> 1006 </div> 1007 1008 1009 </div> 1010 1011 1012 <script data-cookieconsent="ignore" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 1013 <script data-cookieconsent="ignore" src="/Files/templates/designs/tapas/assets/libraries/crypto-js.min.js"></script> 1014 <script data-cookieconsent="ignore"> 1015 window.jQuery || document.write('<script src="files/templates/designs/tapas/assets/lbriaries/jquery-2.1.4.min.js"><\/script>') 1016 </script> 1017 1018 <!--inject:js--> 1019 <script data-cookieconsent="ignore" src="/Files/Templates/Designs/Tapas/assets/min/library.min.js?v=@assetVersion"></script> 1020 <script data-cookieconsent="ignore" src="/Files/Templates/Designs/Tapas/assets/min/_main.min.js?v=@assetVersion"></script> 1021 <!--endinject--> 1022 <script data-cookieconsent="ignore"> 1023 Elma.Init() 1024 </script> 1025 1026 <!--inject:css--><!--endinject--> 1027 </body> 1028 </html> 1029 1030 @helper RenderSchemaItem(string name, string item, int position) 1031 { 1032 <text>{ 1033 "@@type": "ListItem", 1034 "position": @position, 1035 "name": "@name", 1036 "item": "@(Dynamicweb.Context.Current.Request.Url.Scheme + "://" + Dynamicweb.Context.Current.Request.Url.Host + item)" 1037 }</text> 1038 }