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_24347a48e3f64390987eb28ba3b2f6bc.Execute() in E:\Websites\elma.LIVE\Files\Templates\Designs\Tapas\_parsed\cleanpage.parsed.cshtml:line 266
   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 bool isDiscountPrice = (product.DefaultPrice > ProductPriceInfo.PriceWithoutVAT); 256 double priceWithVAT = product.DefaultPrice * ((ProductPriceInfo.VATPercent + 100) / 100); 257 258 <script type="application/ld+json"> 259 { 260 "@@context": "https://schema.org", 261 "@@type": "Product", 262 "@@id": "@(scheme + "://" + host + productUrl)", 263 "name": "@product.Name", 264 "description": "@product.ShortDescription", 265 "image": [ 266 "@(scheme + "://" + host + productImages.First())" 267 ], 268 "sku": "@product.Number", 269 "gtin13": "@product.Number", 270 "mpn": "", 271 "brand": { 272 "@@type": "Brand", 273 "name": "ELMA" 274 }, 275 "url": "@(scheme + "://" + host + productUrl)", 276 "category": "", 277 "itemCondition": "https://schema.org/NewCondition", 278 @if(priceWithVAT != 0) 279 { 280 <text> 281 "price": "@priceWithVAT", 282 "priceCurrency": "@Dynamicweb.Ecommerce.Common.Context.Currency.Code", 283 </text> 284 } 285 "availability": "https://schema.org/InStock" 286 @if (isDiscountPrice) 287 { 288 <text> 289 , 290 "offers": { 291 "@@type": "Offer", 292 "price": "@ProductPriceInfo.PriceWithVAT", 293 "priceCurrency": "@Dynamicweb.Ecommerce.Common.Context.Currency.Code", 294 "availability": "https://schema.org/InStock", 295 "url": "@(scheme + "://" + host + productUrl)" 296 } 297 </text> 298 } 299 } 300 </script> 301 } 302 303 if (GetString("Item.SystemName") == "News") 304 { 305 <script type="application/ld+json"> 306 { 307 "@@context": "https://schema.org", 308 "@@type": "Article", 309 "headline": "@GetString("Item.NewsHeader")", 310 "description": "@System.Web.HttpUtility.HtmlEncode(GetString("Item.NewsTeaser.Value"))", 311 "image": [ 312 "@(scheme + "://" + host + GetString("Item.NewsImage.Value"))" 313 ], 314 "datePublished": "@GetString("Item.NewsDate.Value")", 315 "author": { 316 "@@type": "Organization", 317 "name": "Elma Instruments" 318 }, 319 "publisher": { 320 "@@type": "Organization", 321 "name": "Elma Instruments", 322 "logo": { 323 "@@type": "ImageObject", 324 "url": "https://elma.dk/media/elma-logo.png" 325 } 326 }, 327 "mainEntityOfPage": { 328 "@@type": "WebPage", 329 "@@id": "@(scheme + "://" + host + Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($"Default.aspx?ID={Pageview.Page.ID}"))" 330 } 331 } 332 </script> 333 } 334 } 335 336 <!--inject:css--><!--endinject--> 337 @GetValue("Stylesheets") 338 @GetValue("Javascripts") 339 </head> 340 341 342 <body class="@printCssClass" data-bind="closeMenuItems: { menuOpenObservable: menuOpen, miniCartVisibleObservable: miniCartVisible }, css: { 'loading': load().active }"> 343 <!-- Google Tag Manager (noscript) --> 344 <noscript> 345 <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-567PQPG" height="0" width="0" style="display:none;visibility:hidden"></iframe> 346 </noscript> 347 <!-- End Google Tag Manager (noscript) --> 348 <!-- ko if: responsive--> 349 <div class="mobileSection visible-sm visible-xs" data-bind="css: { 'open': showResponsiveMenu }"> 350 <div class="mobile-menu-closer" data-bind="click: toggleResponsiveMenu"> 351 </div> 352 @GetValue("DwNavigation(responsivenav)") 353 </div> 354 <!-- /ko --> 355 356 <div class="desktopSection js-wrapper" data-bind="css: { 'open': showResponsiveMenu }"> 357 @if (printActivated == false) 358 { 359 360 <header class="header"> 361 362 <div class="header__primary" data-bind="floatingMenu"> 363 <div class="header__secondary hidden-print"> 364 <div class="container"> 365 <div class="header__secondary__inner hidden-xs"> 366 <div class="vat-selector"> 367 <button class="@companySelected" data-bind="click: setCustomerType.bind($data, 'Erhverv')">@Translate("Erhverv", "Erhverv")</button> 368 <button class="@privateSelected" data-bind="click: setCustomerType.bind($data, 'Privat')">@Translate("Privat", "Privat")</button> 369 </div> 370 <nav class="navigation navigation--secondary"> 371 @GetValue("DwNavigation(dwtopnav)") 372 </nav> 373 </div> 374 </div> 375 </div> 376 <div class="header__primary__inner"> 377 @RenderSnippet("Logo") 378 379 <div class="navigation-links"> 380 381 <!-- ko ifnot: responsive--> 382 <nav class="navigation navigation--primary visible-md visible-lg"> 383 @GetValue("DwNavigation(dwnav)") 384 </nav> 385 <!-- /ko --> 386 387 <div class="header__search visible-md visible-lg js-instant-search-container" data-bind="viewModel: Tapas.ViewModels.InstantSearchViewModel"> 388 <div data-bind="instantSearchButtonControls: '.productCount'"> 389 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 390 @using Dynamicweb.Rendering; 391 392 <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"))" }'> 393 <div class="instant-search-form"> 394 <input type="hidden" name="ID" value="@searchResultId"> 395 <input type="text" placeholder='@Translate("SearchForProduct", "Søg efter produkt")' id="instantSearch" class="form-control" data-bind="textInput: searchQuery" autocomplete="off" name="Search"> 396 <span class="instant-search-icon" data-bind="submitParentForm, css: { animate: searchLoading }"> 397 <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> 398 </span> 399 </div> 400 401 <div class="result instant-search-results container elma-card" data-bind="html: result, visible: allResults"> 402 </div> 403 </form> 404 </div> 405 </div> 406 407 <div class="header__actions"> 408 409 <div class="item mobile-search visible-xs visible-sm" data-bind="menu, focusFirstInputOnClick"> 410 <div class="elma-menu-icon"> 411 <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> 412 </div> 413 <div class="search-container"> 414 <div class="header__search js-instant-search-container" data-bind="viewModel: Tapas.ViewModels.InstantSearchViewModel"> 415 <div data-bind="instantSearchButtonControls: '.productCount'"> 416 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 417 @using Dynamicweb.Rendering; 418 419 <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"))" }'> 420 <div class="instant-search-form"> 421 <input type="hidden" name="ID" value="@searchResultId"> 422 <input type="text" placeholder='@Translate("SearchForProduct", "Søg efter produkt")' id="instantSearch" class="form-control" data-bind="textInput: searchQuery" autocomplete="off" name="Search"> 423 <span class="instant-search-icon" data-bind="submitParentForm, css: { animate: searchLoading }"> 424 <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> 425 </span> 426 </div> 427 428 <div class="result instant-search-results container elma-card" data-bind="html: result, visible: allResults"> 429 </div> 430 </form> 431 </div> 432 </div> 433 </div> 434 </div> 435 436 @if (CurrentUser != null) 437 { 438 <div class="item user-menu" data-bind="menu"> 439 <div class="elma-menu-icon"> 440 <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> 441 </div> 442 @GetValue("DwNavigation(usernavigation)") 443 </div> 444 } 445 else 446 { 447 <div class="item user-menu" data-toggle="modal" data-target=".loginModal"> 448 <div class="elma-menu-icon"> 449 <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> 450 </div> 451 <div class="dropDown elma-card elma-card--white"> 452 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 453 @using Dynamicweb.Rendering; 454 455 <div class="loginDetails login-container"> 456 <div> 457 <div class="dropdown UserLinks" data-bind="visible: $root.User().IsLoggedIn()" style="display: none;"> 458 <a id="user" data-toggle="dropdown" role="button"> 459 <i class="elma-icon-lock"></i>&nbsp;&nbsp;<span data-bind="text: $root.User().Name"></span><span class="caret"></span> 460 </a> 461 @GetValue("DwNavigation(dwusernav)") 462 </div> 463 </div> 464 </div> 465 </div> 466 </div> 467 } 468 469 <div class="item cart-info" data-bind="viewModel: Elma.ViewModels.MiniCartViewModel, menu, css: { 'visible': miniCartVisible }"> 470 <div class="elma-menu-icon"> 471 <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> 472 </div> 473 <span class="count-indicator" data-bind="css: { ShowCartIndicator: ShowCartIndicator }, text: Cart().TotalProductLines"></span> 474 <div class="dropDown miniCart elma-card"> 475 <div class="col-md-12 col-sm-12 col-xs-12 customTable"> 476 <div class="row tableRow"> 477 <div class="col-md-12 col-sm-12 col-xs-12"> 478 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 479 @using Dynamicweb.Rendering; 480 481 @{ 482 var currentLocale = GetGlobalValue("Global:Area.LongLang"); 483 bool IsPrivateCustomer = Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.CustomerType.GetCustomerType() == "Privat"; 484 } 485 486 <div class="col-md-12 col-sm-12 col-xs-12 headlineBlock" data-bind="visible: ShowEmptyMiniCart"> 487 <h2 class="headline">@Translate("yourorderlines", "Ordrelinjer")</h2> 488 <a href="/Default.aspx?ID=@checkoutId&step=1" class="quickAdd btn btn-primary quick-search-btn pull-right"> 489 @Translate("gotopayment", "Til betaling") 490 </a> 491 </div> 492 493 <div class="col-md-12 col-sm-12 col-xs-12 headlineBlock" data-bind="visible: !ShowEmptyMiniCart()"> 494 <h2 class="headline">@Translate("cartisempty", "Din kurv er tom")</h2> 495 </div> 496 497 <div class="col-md-12 col-sm-12 col-xs-12 orderlines" data-bind="visible: ShowEmptyMiniCart"> 498 <div class="row"> 499 <div class="col-md-12 col-sm-12 col-xs-12"> 500 <div class="row minicart-tableheader"> 501 <div class="col-md-5 col-sm-5 col-xs-5 miniCart name">@Translate("ItemName", "Vare")</div> 502 <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> 503 <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> 504 <div class="col-md-2 col-sm-2 col-xs-3 miniCart alignRight totalPrice">@Translate("total", "Total")</div> 505 </div> 506 </div> 507 <div class="col-md-12 col-sm-12 col-xs-12" data-bind="foreach: { data: Cart().CartLines.slice(0).reverse(), as: 'cartItem', afterRender: EverythingHasLoaded }"> 508 <div class="orderLine"> 509 <div class="product-info" data-bind="attr: {'data-product-info': [cartItem.ProductName(), cartItem.ProductNumber(), 'Denmark', '0', cartItem.ProductUnitPriceWithVat(), 'Elma', 'Elma']}"></div> 510 <div class="row"> 511 <div class="col-md-5 col-sm-5 col-xs-6 miniCart name"> 512 <h5 class="no-margin-top"><strong data-bind="text: cartItem.ProductName"></strong></h5> 513 <p class="desktop-inline-block">@Translate("Firstweb:Product.ProductInfo.Eannumber", "EAN:"): <span data-bind="text: cartItem.ProductNumber"></span></p> 514 <div data-bind="foreach: { data: cartItem.CustomProductFields, as: 'pf'}" class="desktop-inline-block"> 515 <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> 516 </div> 517 </div> 518 @if (IsPrivateCustomer) 519 { 520 <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> 521 } 522 else 523 { 524 <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> 525 } 526 <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> 527 @if (IsPrivateCustomer) 528 { 529 <div class="col-md-2 col-sm-2 col-xs-3 miniCart alignRight totalPrice" data-bind="formatNumber: { locale: '@currentLocale', observable: ProductPrice }"></div> 530 } 531 else 532 { 533 <div class="col-md-2 col-sm-2 col-xs-3 miniCart alignRight totalPrice" data-bind="formatNumber: { locale: '@currentLocale', observable: ProductPriceWithoutVAT }"></div> 534 } 535 <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> 536 </div> 537 </div> 538 </div> 539 <div class="col-md-12 col-sm-12 col-xs-12 mini-cart-total"> 540 <div class="full-width text-right miniCart summary"> 541 @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") 542 </div> 543 <div class="full-width text-right miniCart summary"> 544 @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") 545 </div> 546 </div> 547 </div> 548 </div> 549 550 551 </div> 552 </div> 553 </div> 554 </div> 555 </div> 556 557 <div class="collapseBtn js-collapse-btn" data-bind="click: toggleResponsiveMenu"></div> 558 559 </div> 560 561 </div> 562 </div> 563 </div> 564 </header> 565 } 566 567 568 569 @using Dynamicweb.Environment 570 571 572 @{ 573 var hasGroupId = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("groupid")); 574 var hasProductId = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("productid")); 575 var hasCompare = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("compare")); 576 var hasSearch = !string.IsNullOrWhiteSpace(Dynamicweb.Context.Current.Request.GetString("Search")); 577 int productPageId = Dynamicweb.Core.Converter.ToInt32(Pageview.Area.Item["ProductCatalogId"]); 578 bool disabledBreadcrumbs = GetBoolean("Item.Page.RemoveStandardBreadcrumbs.Value"); 579 var isEcom = hasGroupId || hasProductId || hasCompare || hasSearch || productPageId == Pageview.ID || disabledBreadcrumbs; 580 } 581 582 <div class="container-fluid"> 583 <div class="row"> 584 <div class="col-xs-12"> 585 <div class="row header-image" id="headerImage">@GetValue("DwContent(headerImage)")</div> 586 </div> 587 </div> 588 </div> 589 590 @if (isEcom == false) 591 { 592 593 @* only show breadcrumbs on non-ecom pages *@ 594 @* ecom pages have their own custom breadcrumbs from our 1stweb helpers *@ 595 596 <div class="container"> 597 <div class="row"> 598 @RenderNavigation(new 599 { 600 template = "breadcrumbs.xslt", 601 id = "breadcrumb", 602 sitemapmode = "true", 603 homepageText = Translate("homepage", "Forside") 604 }) 605 </div> 606 </div> 607 } 608 609 <div id="headlineOneColumn">@GetValue("DwContent(headlineOneColumn)")</div> 610 611 <div id="content1">@GetValue("DwContent(content1)")</div> 612 613 @if (!printActivated) 614 { 615 <section class="newsletter"> 616 <div class="container"> 617 <div class="row flex-row align-items-center"> 618 <div class="col-md-4"> 619 <p class="newsletter__heading--large">@Translate("NewsletterText.Heading", "Tilmeld dig E-News!")</p> 620 <p class="newsletter__heading">@Translate("NewsletterText", "Hold dig opdateret og få vores fantastiske tilbud i din indbakke")</p> 621 </div> 622 <div class="col-md-8"> 623 @RenderPageContent(newsletterId) 624 </div> 625 </div> 626 </div> 627 </section> 628 629 <footer class="footer hidden-print"> 630 <div class="container"> 631 @RenderItem(new { ItemType = "WebshopFooter", SourceItemEntry = footerId, ItemFields = "*", DetailsTemplate = "RenderItem/footer.cshtml" }) 632 <div class="row flex-row footer__secondary"> 633 <div class="col-xs-12 col-md-4 footer__secondary-item"> 634 <p>@Translate("PaymentText", "Betalingsmetoder")</p> 635 <img src="@paymentImage" alt="" style="height: 30px;"> 636 </div> 637 638 <div class="col-xs-12 col-md-4 justify-content-center footer__secondary-item footer__secondary-item--nav"> 639 @foreach (var footerNavItem in footerNavigationLoop) { 640 string itemText = footerNavItem.GetString("Item.Area.FooterNavigation.ColText.Value"); 641 string itemLink = footerNavItem.GetString("Item.Area.FooterNavigation.ColLink.Value"); 642 <a href="@itemLink">@itemText</a> 643 } 644 </div> 645 <div class="col-xs-12 col-md-4 footer__secondary-item"> 646 <p>© @currentYear @Translate("ElmaCopyrightText", "Elma Instruments. All Rights Reserved.")</p> 647 </div> 648 </div> 649 </div> 650 </footer> 651 652 <div class="overlay"> 653 <div class="loader"> 654 <div class="dot"></div> 655 <div class="dot"></div> 656 <div class="dot"></div> 657 <div class="loaderText" data-bind="text: load().text"></div> 658 </div> 659 </div> 660 661 <div class="modal fade js-customer-type-modal customer-type-modal" id="customerTypeSelector" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 662 <div class="modal-dialog" role="document"> 663 <div class="modal-content elma-card elma-card--padded"> 664 <div class="modal-body"> 665 <p class="customer-type-modal_header">@Translate("CustomerTypeModal.Header", "V&aelig;lg kundetype")</p> 666 <button type="button" class="btn btn-secondary" data-bind="click: setCustomerType.bind($data, 'Privat')">@Translate("Privat", "Privat")</button> 667 <button type="button" class="btn btn-secondary" data-bind="click: setCustomerType.bind($data, 'Erhverv')">@Translate("Erhverv", "Erhverv")</button> 668 </div> 669 </div> 670 </div> 671 </div> 672 673 <a href='@googleMapsLink' class="display-none-sm find-me-container text-center border-top-radius-left" rel='noopener noreferrer' target='_blank'> 674 <div class="footer-trigger-icon"> 675 <i class="elma-icon-find-me"></i> 676 </div> 677 <p class="footer-trigger-text">@Translate("footerFindMe", "Find os")</p> 678 </a> 679 680 681 <div class="newsletter-widget" data-bind="css: { 'open': showNewsletterWidget }, value: newsletterModal = '.newsletter-modal' "> 682 683 <div class="newsletter-open text-center border-top-radius-right" data-bind="click: toggleNewsletterWidget"> 684 <div class="footer-trigger-icon"> 685 <i class="elma-icon-newsletter"></i> 686 </div> 687 <p class="footer-trigger-text">@Translate("newsletterOpenTag", "Nyhedsbrev")</p> 688 </div> 689 690 <div class="newsletter-content elma-card"> 691 <div class="newsletter-close" data-bind="click: hideNewsletterWidget"></div> 692 <form name="UserManagementEditForm" data-bind="submit: submitNewsletterSubscription, value: newsletterFormID = '@newsletterId'"> 693 <input type="hidden" name="UserManagementForm" value="1"> 694 <input type="hidden" id="HiddenField.CustomField.AccessUser_AccessUser_NewsletterSubscription" name="CustomField.AccessUser_AccessUser_NewsletterSubscription" value="True"> 695 <input name="UserManagement_Form_EmailAllowed" type="hidden" id="UserManagement_Form_EmailAllowed" value="True"> 696 <input name="UserManagement_Form_EmailAllowed_ApplyValue" type="hidden" id="UserManagement_Form_EmailAllowed_ApplyValue" value="AllowEmail"> 697 698 <div class="newsletter-head"> 699 @Translate("Nesletter.Header", "Tilmeld dig E-news!") 700 </div> 701 702 <div class="newsletter-subhead"> 703 <p> 704 @Translate("Nesletter.Subhead1", "Tilmeld dig vores sp&aelig;ndende nyhedsbrev og f&aring; alle de gode tilbud og nyheder f&oslash;rst.") 705 </p> 706 <p> 707 @Translate("Newsletter.Subhead2", "Det eneste du skal g&oslash;re er at udfylde nedenfor.") 708 </p> 709 </div> 710 <div class="row"> 711 <div class="col-sm-6"> 712 <input name="UserManagement_Form_Name" class="form-control" id="UserManagement_Form_Name" type="text" placeholder='@Translate("Newsletter.Input.Name", "Skrit dit navn")' required=""> 713 </div> 714 <div class="col-sm-6"> 715 <input name="UserManagement_Form_Email" class="form-control" id="UserManagement_Form_Email" type="email" placeholder='@Translate("Newsletter.Input.Email", "Skrit din E-mail")' required=""> 716 </div> 717 </div> 718 719 <div class="row"> 720 <div class="col-sm-12 newsletter-checkbox"> 721 <label class="bs-label"> 722 <input class="checkbox-field bs" type="checkbox" name="CustomField.AccessUser_AccessUser_NewsMagazineSubscription" data-bind="checked: newsMagazineSubscription"> 723 <span class="checkbox-text">@Translate("Newsletter.SubscribeToMagazine", "Jeg &oslash;nsker ogs&aring; at modtage Elma's nyhedsmagasin Instrument News med posten")</span> 724 </label> 725 </div> 726 </div> 727 728 <div class="row"> 729 <div class="col-sm-12 hide" data-bind="css: {'show': newsMagazineSubscription }"> 730 <div class="form-group"> 731 <input class="form-control" name="UserManagement_Form_Company" type="text" maxlength="255" placeholder='@Translate("Newsletter.Company", "Firmnavn")' value=""> 732 </div> 733 <div class="form-group"> 734 <input class="form-control" name="UserManagement_Form_FirstName" type="text" maxlength="255" placeholder='@Translate("Newsletter.Name", "Navn")' value=""> 735 </div> 736 <div class="form-group"> 737 <input class="form-control" name="UserManagement_Form_Address" type="text" maxlength="255" placeholder='@Translate("Newsletter.Address", "Adresse")' value=""> 738 </div> 739 <div class="row form-group"> 740 <div class="col-sm-4"> 741 <input class="form-control" name="UserManagement_Form_Zip" type="text" maxlength="255" placeholder='@Translate("Newsletter.Zip", "Postnr")' value=""> 742 </div> 743 <div class="col-sm-8"> 744 <input class="form-control" name="UserManagement_Form_City" type="text" maxlength="255" placeholder='@Translate("Newsletter.City", "By")' value=""> 745 </div> 746 </div> 747 </div> 748 </div> 749 750 <button class="btn btn-block btn-primary" type="submit" data-bind="disable: newsletterSubmitting">@Translate("Newsletter.Submit", "Tilmeld nyhedsbrev")</button> 751 </form> 752 </div> 753 </div> 754 755 <div class="newsletter-modal modal fade" tabindex="-1" role="dialog" data-bind="css: { 'subSuccess': newsletterSubscriptionStatus, 'subError': !newsletterSubscriptionStatus() }"> 756 <div class="modal-dialog"> 757 <div class="modal-content"> 758 <div class="modal-header"> 759 <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> 760 <h4 class="modal-title subSuccess">@Translate("newslettersuccess", "Du er nu tilmeldt nyhedsbrev!")</h4> 761 <h4 class="modal-title subError">@Translate("newslettererror", "Der skete en uventet fejl, pr&oslash;v igen senere.")</h4> 762 </div> 763 764 <div class="modal-footer"> 765 <button type="button" class="button" data-dismiss="modal" aria-label="Close">@Translate("newsletterbtn", "okay")</button> 766 </div> 767 </div> 768 </div> 769 </div> 770 771 <div class="js-backdrop elma-backdrop hide-elm"></div> 772 } 773 </div> 774 775 <div data-bind="viewModel: Elma.ViewModels.LoginViewModel"> 776 777 @{ 778 string forgotEmail = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["ForgotEmail"]); 779 string forgotPasswordEmailSubject = Translate("ForgotPasswordMailSubject", "Her er dit password"); 780 } 781 782 @if (!string.IsNullOrEmpty(forgotEmail)) 783 { 784 <!-- ko initValue: {observable: dwForgotEmail, value:'@forgotEmail'}--><!-- /ko--> 785 } 786 787 @* Because of happy DW - we need to add ../ before the path in order for Extranet to find the correct path *@ 788 789 <!-- ko initValue: {observable: dwForgotPasswordMailTemplate, value:'../Extranet/mail.cshtml'}--><!-- /ko--> 790 <!-- ko initValue: {observable: dwForgotPasswordMailSubject, value:'@Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.Base.JSTrimTranslation(forgotPasswordEmailSubject)'}--><!-- /ko--> 791 <!--Login popup--> 792 <div class="modal loginModal container" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"> 793 <div class="modal-dialog elma-card elma-card--white"> 794 <div class="popupBox login modal-content"> 795 <div class="modal-header"> 796 <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> 797 <span class="modal__title m-t-0">@Translate("login", "Log ind")</span> 798 </div> 799 <div class="modal-body" data-bind="Fadevisible: ToggleForgottenPassword, delayIn:250"> 800 <form name="ExtUserForm" id="ExtUserForm" method="post" action="@action"> 801 <div class="form"> 802 <div class="form-group"> 803 <input class="form-control" type="text" name="Username" placeholder='@Translate("username", "Brugernavn")' value="@userName" data-bind="value: UserName, hasFocus: addFocus" required=""> 804 </div> 805 <div class="form-group"> 806 <input class="form-control" type="password" name="Password" placeholder='@Translate("password", "Adgangskode")' value="@password" data-bind="value: Password" required=""> 807 </div> 808 809 </div> 810 <div class="action"> 811 <div class="pull-left"> 812 <label class="customRadio"> 813 <input type="checkbox" name="Autologin" data-bind="checked: rememberMe"> 814 <div class="radio"></div> 815 @Translate("stayloggedin", "Husk mig") 816 </label> 817 <div class="forgottenPass elma-link elma-link--grey" data-bind="toggleClick: ToggleForgottenPassword"> 818 @Translate("forgottenpassword", "Glemt adgangskode") 819 </div> 820 821 <div class="modal-login-failed" data-bind="visible: LoginFailed"> 822 <div class="alert alert-danger"> 823 @Translate("LoginFailed", "Du har indtastet et forkert kode eller forkert brugernavn, Prøv venligst igen") 824 </div> 825 </div> 826 <div class="row" data-bind="visible: LoginWrongDomain"> 827 <div class="col-sm-12"> 828 <div class="alert alert-danger"> 829 @Translate("LoginWrongDomain", "Du har logget ind på det forkerte domæne") 830 </div> 831 </div> 832 </div> 833 </div> 834 <div class="modal-buttons pull-right"> 835 <div class="btn btn-secondary" data-bind="click: newUser"> 836 @Translate("donthavealogin", "Opret bruger") 837 </div> 838 <button class="btn btn-primary pull-right" tabindex="3" value="LOG IND" data-bind="click: Login, toggleClick: Loader">@Translate("login", "Log ind")</button> 839 </div> 840 <span data-bind="Fadevisible: !Loader(), css:{ loginsuccess : $root.User().IsLoggedIn(), loginFail : LoginFailed() }" class="ringLoader"></span> 841 </div> 842 </form> 843 </div> 844 <div class="modal-body forgotten" data-bind="Fadevisible: !ToggleForgottenPassword(), delayIn:250"> 845 <div class="back" data-bind="toggleClick: ToggleForgottenPassword">@Translate("back", "Tilbage")</div> 846 <div class="action"> 847 <form name="ExtUserForm" id="ExtUserForm" method="post" action="@action" data-bind="submit: recover"> 848 <input type="text" class="form-control" name="Email" placeholder='@Translate("email", "Email")' data-bind="value: email" required=""> 849 <div class="confirmation" data-bind="html: confirmation"></div> 850 <button type="submit" class="btn btn-primary pull-right col-xs-12" tabindex="3">@Translate("getpassword", "F&aring; tilsendt kode")</button> 851 <span data-bind="Fadevisible: ForgottenLoader" class="ringLoader"></span> 852 </form> 853 </div> 854 </div> 855 </div> 856 </div> 857 </div> 858 <!--New user popup--> 859 <div class="modal newUser fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" data-bind="value: newUserModal = '.newUser'"> 860 <div class="modal-dialog"> 861 <div class="popupBox login modal-content"> 862 <!-- ko initValue: {observable: userType, value:'1'}--><!-- /ko--> 863 864 <div class="modal-header subHeading"> 865 <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> 866 <span data-bind="visible: !successOrFail()">@Translate("makenewuser", "Opret ny bruger")</span> 867 <span data-bind="visible: successOrFail">@Translate("congratulations", "Tillykke.")</span> 868 </div> 869 <div class="modal-body" data-bind="value: loginId = @loginId, visible: !successOrFail()"> 870 <form name="MakeNewUserForm" id="MakeNewUserForm" data-bind="createUser: { link: '/Handlers/Firstweb.ERP.Users.ashx?cmd=createcustomer', type: 'login'}"> 871 <div class="form"> 872 <div class="form-group margin-top-half margin-bottom-half"> 873 <label class="radio-inline bs-label block-radio" for="customertype_1"> 874 <input type="radio" class="bs" name="customertype" id="customertype_1" value="1" data-bind="checked: userType" checked="checked"> <span>@Translate("CustomerType_1", "Privat")</span> 875 </label> 876 <label class="radio-inline bs-label block-radio" for="customertype_2"> 877 <input type="radio" data-bind="checked: userType" class="bs" name="customertype" id="customertype_2" value="2"> <span>@Translate("CustomerType_2", "Virksomhed")</span> 878 </label> 879 880 <label class="radio-inline bs-label block-radio" for="customertype_3"> 881 <input type="radio" data-bind="checked: userType" class="bs" name="customertype" id="customertype_1" value="3"> <span>@Translate("CustomerType_3", "Offentlig")</span> 882 </label> 883 </div> 884 885 <div class="form-group js-form-group"> 886 <label for="Companyname"> 887 @Translate("companyname", "Firmanavn") 888 </label> 889 <input class="form-control" type="text" name="Companyname" placeholder="" data-bind="hasFocus: makeNewUserOpen, value: companyName, renderInputForm: { myArray: visibleFields, name: 'company'}" required=""> 890 </div> 891 892 <div class="form-group"> 893 <label for="Name"> 894 @Translate("contactperson", "Kontaktperson") 895 </label> 896 <input class="form-control" type="text" name="Name" placeholder="" data-bind="value: contactperson" required=""> 897 </div> 898 899 <div class="form-group"> 900 <label for="Address1"> 901 @Translate("address1", "Adresse 1") 902 </label> 903 <input class="form-control" type="text" name="address" placeholder="" data-bind="value: address1" required=""> 904 </div> 905 906 <div class="form-group"> 907 <label for="Address2"> 908 @Translate("address2", "Adresse 2") 909 </label> 910 <input class="form-control" type="text" name="Address2" placeholder="" data-bind="value: address2"> 911 </div> 912 913 <div class="form-group js-form-group"> 914 <label for="cvr"> 915 @Translate("cvr", "CVR nr.") 916 </label> 917 <input class="form-control" type="tel" name="cvr" placeholder="" data-bind="value: cvr, renderInputForm: { myArray: visibleFields, name: 'cvr'}"> 918 </div> 919 920 921 <div class="form-group js-form-group"> 922 <label for="ean"> 923 @Translate("ean", "EAN nr.") 924 </label> 925 <input class="form-control" type="tel" name="ean" placeholder="" data-bind="value: ean, renderInputForm: { myArray: visibleFields, name: 'ean'}"> 926 </div> 927 928 <div class="form-group"> 929 <div class="row"> 930 <div class="col-sm-6 mobile-m-b-15"> 931 <label for="zip"> 932 @Translate("zip", "Postnr.") 933 </label> 934 <input class="form-control" type="tel" name="zipcode" placeholder="" data-bind="value: zip" required=""> 935 </div> 936 <div class="col-sm-6"> 937 <label for="city"> 938 @Translate("city", "By") 939 </label> 940 <input class="form-control" type="text" name="city" placeholder="" data-bind="value: city" required=""> 941 </div> 942 </div> 943 944 945 </div> 946 947 948 <div class="form-group"> 949 <label for="country"> 950 @Translate("country", "Land") 951 </label> 952 953 <select name="country" class="form-control"> 954 @foreach (var item in Dynamicweb.Ecommerce.International.Country.GetCountries()) 955 { 956 var selected = item.Code2 == Dynamicweb.Ecommerce.Common.Context.Country.Code2 ? "selected" : ""; 957 <option value="@item.Code2" @selected="">@item.CountryText.Name</option> 958 } 959 </select> 960 961 @*<input class="form-control" type="text" name="country" placeholder="" data-bind="value: country">*@ 962 </div> 963 964 <div class="form-group"> 965 <label for="Email"> 966 967 @Translate("email", "E-mail") 968 </label> 969 <input class="form-control" type="email" name="Email" placeholder="" data-bind="value: useremail" required=""> 970 </div> 971 972 973 <div class="form-group"> 974 <label for="Phone"> 975 @Translate("phone", "Telefon") 976 </label> 977 <input class="form-control" type="tel" name="Phone" placeholder="" data-bind="value: phone" required=""> 978 </div> 979 <div class="form-group"> 980 <label for="Password"> 981 @Translate("password", "Adgangskode") 982 </label> 983 <input class="form-control" type="password" name="Password" placeholder="" required=""> 984 </div> 985 986 987 <div class="row"> 988 <div class="col-sm-12 margin-bottom-half"> 989 <div class="checkbox"> 990 <label class="bs-label"> 991 <input class="bs" type="checkbox" name="NewsletterSubscription" id="newslettersubscription" value="True"> 992 <span>@Translate("NewsletterSubscriptionLabel", "Jeg &oslash;nsker at modtage Elma E-news (nyhedsbrev p&aring; e-mail)")</span> 993 </label> 994 @if (GetString("LongLang") != "en-GB") 995 { 996 <label class="bs-label"> 997 <input class="bs" type="checkbox" name="NewsMagazineSubscription" id="newsmagazinesubscription" value="True"> 998 <span>@Translate("NewsMagazineSubscriptionLabel", "Jeg &oslash;nsker ogs&aring; at modtage Elma's nyhedsmagasin Instruments News med posten")</span> 999 </label> 1000 } 1001 </div> 1002 </div> 1003 </div> 1004 1005 <input type="hidden" name="groups" id="groups" data-bind="value: group = 5"> 1006 <div class="status error-180 margin-bottom-desktop">@Translate("mailalreadyexists", "E-mail adressen er allerede i brug")</div> 1007 </div> 1008 <div class="action"> 1009 <button class="btn btn-primary pull-right mobile-full-width" tabindex="3">@Translate("makenewuser", "Opret ny bruger")</button> 1010 <span data-bind="Fadevisible: newUserLoader" class="ringLoader"></span> 1011 </div> 1012 </form> 1013 </div> 1014 <div class="modal-body confirmation" data-bind="visible: successOrFail"> 1015 <h2>@Translate("youhavemadeanewuser", "Du er nu oprettet som bruger")</h2> 1016 <p class="margin-bottom-half">@Translate("wehavesentaemailwithuserdetails", "- Vi har sendt en E-mail med brugeroplysninger.")</p> 1017 <button class="btn btn-primary" tabindex="3" data-dismiss="modal" value="luk">@Translate("closepopup", "Luk popup")</button> 1018 </div> 1019 </div> 1020 </div> 1021 </div> 1022 1023 1024 </div> 1025 1026 1027 <script data-cookieconsent="ignore" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 1028 <script data-cookieconsent="ignore" src="/Files/templates/designs/tapas/assets/libraries/crypto-js.min.js"></script> 1029 <script data-cookieconsent="ignore"> 1030 window.jQuery || document.write('<script src="files/templates/designs/tapas/assets/lbriaries/jquery-2.1.4.min.js"><\/script>') 1031 </script> 1032 1033 <!--inject:js--> 1034 <script data-cookieconsent="ignore" src="/Files/Templates/Designs/Tapas/assets/min/library.min.js?v=@assetVersion"></script> 1035 <script data-cookieconsent="ignore" src="/Files/Templates/Designs/Tapas/assets/min/_main.min.js?v=@assetVersion"></script> 1036 <!--endinject--> 1037 <script data-cookieconsent="ignore"> 1038 Elma.Init() 1039 </script> 1040 1041 <!--inject:css--><!--endinject--> 1042 </body> 1043 </html> 1044 1045 @helper RenderSchemaItem(string name, string item, int position) 1046 { 1047 <text>{ 1048 "@@type": "ListItem", 1049 "position": @position, 1050 "name": "@name", 1051 "item": "@(Dynamicweb.Context.Current.Request.Url.Scheme + "://" + Dynamicweb.Context.Current.Request.Url.Host + item)" 1052 }</text> 1053 }