Error executing template "Designs/botex/_parsed/espresso.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_137cddfffb534ed587979a3710ab0d30.Execute() in D:\dynamicweb.net\Solutions\FlexMedia\botex.cloud.dynamicweb-cms.com\Website\files\Templates\Designs\botex\_parsed\espresso.parsed.cshtml:line 5
   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 Co3.Espresso.Website.TemplateBases.Pages.PageBase 2 @using System.Web; 3 @{ 4 string globalAreaLang = GetGlobalValue("Global:Area.Lang"); 5 string styleSheetFilePath = string.Format("/Files/Templates/Designs/botex/_assets/_dist/css/{0}.css?v=4.0.10", Espresso.Area.Item.Stylesheet); 6 string customFlexCss = string.Format("/Files/Templates/Designs/botex/assets/flex.css?v=1.1.5", Espresso.Area.Item.Stylesheet); 7 } 8 <!DOCTYPE html> 9 <html lang="@globalAreaLang"> 10 <head> 11 @GetValue("CopyRightNotice") 12 <meta charset="utf-8"> 13 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, minimal-ui"> 14 <meta http-equiv="x-ua-compatible" content="ie=edge"> 15 <title> 16 @GetValue("Title") 17 </title> 18 19 @Espresso.CriticalCSS 20 <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin=""> 21 <link href="https://fonts.googleapis.com/css?family=Raleway:300,400,700%7CLibre+Baskerville%7CMaterial+Icons" media="@Espresso.StylesheetAttributeMedia" rel="@Espresso.StylesheetAttributeRel" as="style"> 22 <link href="@styleSheetFilePath" media="@Espresso.StylesheetAttributeMedia" rel="@Espresso.StylesheetAttributeRel" as="style"> 23 24 <script src="/Files/Templates/Designs/botex/_assets/_dist/js/custom.js?v=4.1.2"></script> 25 26 <link href="@customFlexCss" media="@Espresso.StylesheetAttributeMedia" rel="@Espresso.StylesheetAttributeRel" as="style"> 27 @*_assets/_dist/css/default.css?v=4.0.6*@ 28 @Espresso.CriticalJS 29 30 <link rel="shortcut icon" href="@Espresso.Area.Item.Favicon"> 31 @GetValue("MetaTags") 32 @if( Espresso.IsStagingUrl == true ) { 33 <meta name="robots" content="noindex,nofollow"> 34 } 35 @{ 36 string OpenGraphURL = GetGlobalValue( "Global:Request.Scheme" ) + "://" + GetGlobalValue( "Global:Request.Host" ) + GetGlobalValue( "Global:Pageview.Url" ); 37 38 string BotexImageGraph = GetGlobalValue( "Global:Request.Scheme" ) + "://" + GetGlobalValue( "Global:Request.Host" ) + "/admin/public/getimage.ashx?Crop=0&Image=" + @Espresso.OpenGraphImage + "&Format=jpg&Width=1200&Quality=75"; 39 } 40 <meta property="og:url" content="@OpenGraphURL"> 41 <meta property="og:title" content="@Espresso.OpenGraphTitle"> 42 <meta property="og:description" content="@Espresso.OpenGraphDescription"> 43 <meta property="og:image" content="@BotexImageGraph"> 44 @if( string.IsNullOrEmpty( Espresso.Area.Item.GoogleSiteVerification ) == false ){ 45 <meta name="google-site-verification" content="@Espresso.Area.Item.GoogleSiteVerification"> 46 } 47 @{ 48 if(1 == 2){ 49 @GetValue("Stylesheets") 50 } 51 } 52 53 54 55 56 <!-- TrustBox script --> 57 <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async=""></script> 58 <!-- End TrustBox script --> 59 60 61 62 @if( string.IsNullOrEmpty( Espresso.Area.GoogleTagManagerID ) == false && Espresso.Area.GoogleTagManagerID != "GTM-XXXX" ){ 63 <!-- Google Tag Manager --> 64 <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 65 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 66 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 67 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 68 })(window,document,'script','dataLayer','@Espresso.Area.GoogleTagManagerID');</script> 69 <!-- End Google Tag Manager --> 70 71 72 } 73 74 75 @* Extra Tag manager ? *@ 76 77 @if (!GetGlobalValue("Global:Pageview.Url").Contains("checkout?CompletedOrderId")){ 78 <!-- Global site tag (gtag.js) - Google Analytics --><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-V0X96E4SW7"></script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-V0X96E4SW7');</script> 79 } 80 81 82 <meta name="google-site-verification" content="93i1MPYny5sSl1QyAc_o3yCVr9JW_o2AqT1LhfLVqlg"> 83 @* 84 <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="092676c5-12b6-4f2a-92e6-528b9a173361" data-blockingmode="auto" type="text/javascript"></script> 85 <script id="CookieDeclaration" src="https://consent.cookiebot.com/092676c5-12b6-4f2a-92e6-528b9a173361/cd.js" type="text/javascript" async=""></script> 86 *@ 87 88 @* 89 <script type='text/javascript'> 90 window.smartlook||(function(d) { 91 var o=smartlook=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0]; 92 var c=d.createElement('script');o.api=new Array();c.async=true;c.type='text/javascript'; 93 c.charset='utf-8';c.src='https://rec.smartlook.com/recorder.js';h.appendChild(c); 94 })(document); 95 smartlook('init', '3d4bc50dc95e7ef3d0aa33c4cdc1210fefc82975'); 96 </script> 97 *@ 98 99 @GetValue("Javascripts") 100 </head> 101 102 <body class="@Espresso.Item.CustomClasses" data-sheet="@Espresso.Area.Item.Stylesheet"> 103 @if( string.IsNullOrEmpty( Espresso.Area.GoogleTagManagerID ) == false && Espresso.Area.GoogleTagManagerID != "GTM-XXXX" ){ 104 <!-- Google Tag Manager (noscript) --> 105 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=@Espresso.Area.GoogleTagManagerID" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 106 <!-- End Google Tag Manager (noscript) --> 107 } 108 @{ 109 if( Espresso.Canvas.ClassList.ToString().Contains("e-page-is-loading") == true ){ 110 Espresso.Canvas.ClassList.RemoveClasses("e-page-is-loading"); 111 Espresso.Canvas.ClassList.AddClasses("is-loading"); 112 } 113 } 114 115 @if( Espresso.Area.Item.OptimizedLoading == "True" ){ <div id="js-e-page-loading-overlay" class="e-page-loading-overlay e-loading-overlay is-loading"><div class="e-loading-spinner"></div></div> } 116 <div class="@Espresso.Canvas.ClassList" id="js-e-canvas"> 117 @using Dynamicweb.Admin.dk.dynamicweb.templates @using Dynamicweb.Frontend @{ string Logo = Espresso.Area.Item.Logo; string Tagline = Espresso.Area.Item.Tagline; string utilityhide = string.Empty; string webshopSeperatorClass = string.Empty; string mobileHeaderNavClasses = string.Empty; if( Espresso.Item.NavigationHide == "True") { utilityhide = string.Format( "mt-0" ); } if ( Espresso.Area.Item.Stylesheet == "privat" ) { webshopSeperatorClass = "v-line-right"; mobileHeaderNavClasses = "mb-0 border-bottom-0"; } } @if( Espresso.Item.HeaderHide != "True" ) { <header class="e-header js-e-header is-sticky @utilityhide"> @if( Espresso.Item.NavigationHide != "True" && (PageView.Current().Device == Dynamicweb.Frontend.Devices.DeviceType.Mobile) == false ) { <div class="e-header-container e-nav-utilities-primary d-none d-xl-block border-0"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <section> <ul class="nav justify-content-end nav w-100"> @GetValue("DwNavigation(dwnavutilitiesprimary)") </ul> </section> </div> </div> </div> </div> } <div class="e-header-container"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <article class="e-header-wrapper"> <div class="e-logo"> <a href="/" class="e-logo-link"> <img src="@Logo" class="e-logo-img" alt="@Tagline"> @if( string.IsNullOrEmpty( Tagline ) == false ){ <p class="e-logo-tagline">@Tagline</p> } </a> </div> @if( Espresso.Item.NavigationHide != "True" ){ @GetValue("DwNavigation(dwnavheadercta)") if( Espresso.Area.Item.Search == "True" ){ <div class="e-search-toggle e-header-btn"> <a data-toggle="modal" data-target=".modal.e-search" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large">search</i> </a> </div> } if( Espresso.Area.Item.Shop == "True" ){ <div class="e-header-btn e-cart-mini"> <a href="/shop/cart/" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large">shopping_cart</i> <span class="e-cart-quantity js-e-cart-quantity"></span> </a> </div> } <div class="e-header-btn e-nav-toggle"> <a data-toggle="modal" data-target=".modal.e-nav-container" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large mr-1">menu</i> @Translate("Header - Menu - Button", "Menu") </a> </div> <div class="js-e-nav-container e-nav-container modal p-0" data-backdrop="false"> <nav class="e-nav"> <div class="e-nav-masthead"> <div class="e-logo"> <a href="/" class="e-logo-link"> <img src="@Logo" class="e-logo-img" alt="@Espresso.Area.Item.CompanyName"> @if( string.IsNullOrEmpty( Tagline ) == false ){ <p class="e-logo-tagline">@Tagline</p> } </a> </div> <div class="e-nav-toggle e-header-btn"> <button type="button" data-toggle="modal" data-target=".modal.e-nav-container" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large">close</i> </button> </div> @if( Espresso.Area.Item.Search == "True" ){ <div class="e-header-btn e-search-toggle"> <button type="button" data-toggle="modal" data-target=".modal.e-search" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large">search</i> </button> </div> } @if( Espresso.Area.Item.Shop == "True" ){ <div class="e-header-btn e-cart-mini"> <a href="/shop/cart/" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large">shopping_cart</i> <span class="e-cart-quantity js-e-cart-quantity">@GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity")</span> </a> </div> } </div> @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavcta)") ) == false ){ <section class="e-nav-cta-mobile e-nav-cta"> <ul class="nav"> @GetValue("DwNavigation(dwnavctamobile)") </ul> </section> } <section class="e-nav-global js-e-nav-global @mobileHeaderNavClasses"> <ul class="nav"> @GetValue("DwNavigation(dwnavglobal)") </ul> </section> @if( Espresso.Area.Item.Search == "True" ){ <div class="e-search-toggle"> <button type="button" data-toggle="modal" data-target=".modal.e-search" class="btn btn-sm text-auto @webshopSeperatorClass"> <i class="material-icons material-icons-large">search</i> </button> </div> } @if ( @GetGlobalValue("Global:Area.ID") == "1" ) { <section class="e-nav-global js-e-nav-global botex-nav-webshop border-top-0"> <ul class="nav"> @GetValue("DwNavigation(dwnavwebshop)") </ul> </section> } @if( Espresso.Area.Item.Shop == "True" ){ <div class="e-cart-mini"> <a href="/shop/cart/" class="btn btn-sm text-auto"> <i class="material-icons material-icons-large">shopping_cart</i> <span class="e-cart-quantity js-e-cart-quantity">@GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity")</span> </a> </div> } @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavcta)") ) == false ){ <section class="e-nav-cta"> <ul class="nav"> @GetValue("DwNavigation(dwnavcta)") </ul> </section> } @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavutilitiesprimary)") ) == false ){ <section class="e-nav-utilities-primary d-xl-none js-e-nav-global"> <ul class="nav"> @GetValue("DwNavigation(dwnavutilitiesprimary1)") </ul> </section> } @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavutilitiessecondaryheader)") ) == false ){ <section class="e-nav-utilities-secondary"> <ul class="nav"> @GetValue("DwNavigation(dwnavutilitiessecondaryheader)") </ul> </section> } @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavcontext)") ) == false ){ <section class="e-nav-context"> <ul class="nav"> @GetValue("DwNavigation(dwnavcontext)") </ul> </section> } </nav> </div> } else { <a href="##" class="arrow-right mt-2 text-black text-muted" onclick="history.go(-1); return false;">Gå tilbage</a> } </article> </div> </div> </div> </div> </header> } 118 <main class="e-content"> 119 @using Co3.Espresso.Base.Extensions 120 @using Dynamicweb.Admin.dk.dynamicweb.templates 121 @using Dynamicweb.Frontend 122 @{ 123 string eBreadcrumbClasslist = "e-breadcrumb js-e-breadcrumb"; 124 if( Espresso.Item.BreadcrumbColor != "auto" && Espresso.Item.BreadcrumbColor != "none" && String.IsNullOrEmpty( Espresso.Item.Breadcrumb ) == false ){ 125 eBreadcrumbClasslist += string.Format(" e-breadcrumb-{0}", Espresso.Item.Breadcrumb ); 126 } 127 128 bool showHighlightedShopText = PageView.Current().Area.Item.GetValue< bool >( "ShowHighlightedShopText" ); 129 bool hideUsps = PageView.Current().Area.Item.GetValue< bool >( "HideUSPs" ); 130 string hideUspsActiveClass = ""; 131 if ( hideUsps ) 132 { 133 hideUspsActiveClass = "botex-usp-section-is-hidden"; 134 } 135 int currentPageId = PageView.Current().Page.ID; 136 } 137 138 @if( Espresso.Item.Breadcrumb != "none" && String.IsNullOrEmpty( Espresso.Item.Breadcrumb ) == false ){ 139 <section class="e-section @eBreadcrumbClasslist"> 140 <div class="container-fluid"> 141 <div class="row"> 142 <div class="col-12"> 143 <div class="row"> 144 145 <div class="col-12"> 146 <nav class="e-breadcrumb-container d-none d-lg-block"> 147 @GetValue("DwNavigation(dwnavbreadcrumb)") 148 </nav> 149 @if ( showHighlightedShopText ) // currentPageId == 3582 && 150 { 151 <p class="botex-highlighted-shop-text mb-0 @hideUspsActiveClass"><strong>@Translate("Highlighted Shop Text", "Black Friday 20% på hele shoppen")</strong></p> 152 } 153 </div> 154 155 </div> 156 </div> 157 </div> 158 </div> 159 </section> 160 } 161 162 <article id="dwcontentmain" class="e-content-main @Espresso.ContentArea.ClassList"> 163 @{ 164 string NavigationLocalHorizontalClassList = "e-nav-local e-nav-local-horizontal js-e-nav-local-horizontal reset-animate"; 165 @* reset-animate *@ 166 string NavigationLocalHorizontalContainerClassList = "e-nav-local-container"; 167 if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "horizontal" ) { 168 NavigationLocalHorizontalClassList += " " + Espresso.Item.NavigationLocalCustomClasses; 169 if( Espresso.Item.NavigationLocalSticky == "True" ) { 170 NavigationLocalHorizontalClassList += " is-sticky"; 171 } 172 if( Espresso.Item.NavigationLocalAbsolute == "True" ) { 173 NavigationLocalHorizontalClassList += " is-absolute"; 174 } 175 else{ 176 if( Espresso.Item.NavigationLocalMarginTop != "0" && Espresso.Item.NavigationLocalMarginTop != "" ) { 177 NavigationLocalHorizontalClassList += " mt-" + Espresso.Item.NavigationLocalMarginTop; 178 } 179 if( Espresso.Item.NavigationLocalMarginBottom != "0" && Espresso.Item.NavigationLocalMarginBottom != "" ) { 180 NavigationLocalHorizontalClassList += " mb-" + Espresso.Item.NavigationLocalMarginBottom; 181 } 182 } 183 } 184 } 185 @if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "horizontal" ) { 186 <section class="e-section @NavigationLocalHorizontalClassList"> 187 <div class="container-fluid"> 188 <div class="row"> 189 <div class="col-12"> 190 <div class="row"> 191 192 <div class="col-12"> 193 <nav id="dwnav-local-@Espresso.DynamicwebPage.ID" class="@NavigationLocalHorizontalContainerClassList"> 194 <ul class="nav justify-content-start"> 195 @if( Espresso.Item.NavigationLocalHeading != "" ){ 196 <li class="e-nav-local-heading"><h2>@Espresso.Item.NavigationLocalHeading</h2></li> 197 } 198 @RenderNavigation( new { 199 id = "dwnav-local-" + Espresso.DynamicwebPage.ID, 200 parentid = string.IsNullOrEmpty( Espresso.Item.NavigationLocalParentPage ) == false ? Espresso.Item.NavigationLocalParentPage : Espresso.DynamicwebPage.ID, 201 template = string.IsNullOrEmpty( Espresso.Item.NavigationLocalTemplate ) == false ? Espresso.Item.NavigationLocalTemplate : "local-" + Espresso.Item.NavigationLocalLayout + ".xslt", 202 startlevel = Espresso.Item.NavigationLocalLevelStart, 203 endlevel = Espresso.Item.NavigationLocalLevelEnd, 204 expandmode = Espresso.Item.NavigationLocalPageTreeExpand == "True" ? "all" : "path", 205 } ) 206 </ul> 207 </nav> 208 </div> 209 210 </div> 211 </div> 212 </div> 213 </div> 214 </section> 215 } 216 @{ 217 string NavigationLocalVerticalClassList = "e-nav-local e-nav-local-vertical js-e-nav-local-vertical reset-animate"; 218 string NavigationLocalVerticalContainerClassList = "e-nav-local-container"; 219 if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "vertical" ) { 220 NavigationLocalVerticalClassList += " " + Espresso.Item.NavigationLocalCustomClasses; 221 //NavigationLocalVerticalClassList += " col-3"; 222 223 if( Espresso.Item.NavigationLocalMarginTop != "0" && Espresso.Item.NavigationLocalMarginTop != "" ) { 224 NavigationLocalVerticalClassList += " mt-" + Espresso.Item.NavigationLocalMarginTop; 225 } 226 if( Espresso.Item.NavigationLocalMarginBottom != "0" && Espresso.Item.NavigationLocalMarginBottom != "" ) { 227 NavigationLocalVerticalClassList += " mb-" + Espresso.Item.NavigationLocalMarginBottom; 228 } 229 230 if( Espresso.Item.NavigationLocalSticky == "True" ) { 231 NavigationLocalVerticalClassList += " is-sticky"; 232 } 233 if( Espresso.Item.NavigationLocalAbsolute == "True" ) { 234 NavigationLocalVerticalClassList += " is-absolute"; 235 } 236 else{ 237 Espresso.ContentSection.ClassList.Clear(); 238 Espresso.ContentSection.ClassList.AddClasses("col-12 col-lg-9 ml-auto"); 239 } 240 } 241 } 242 243 @if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "vertical" ) { 244 <section class="e-section @NavigationLocalVerticalClassList"> 245 <div class="container-fluid"> 246 <div class="row"> 247 <div class="col-12"> 248 <div class="row"> 249 250 <div class="col-3"> 251 <nav id="dwnav-local-@Espresso.DynamicwebPage.ID" class="@NavigationLocalVerticalContainerClassList"> 252 <ul class="nav flex-column"> 253 @if( Espresso.Item.NavigationLocalHeading != "" ){ 254 <li class="e-nav-local-heading"><h2>@Espresso.Item.NavigationLocalHeading</h2></li> 255 } 256 @RenderNavigation( new { 257 id = "dwnav-local-" + Espresso.DynamicwebPage.ID, 258 parentid = string.IsNullOrEmpty( Espresso.Item.NavigationLocalParentPage ) == false ? Espresso.Item.NavigationLocalParentPage : Espresso.DynamicwebPage.ID, 259 template = string.IsNullOrEmpty( Espresso.Item.NavigationLocalTemplate ) == false ? Espresso.Item.NavigationLocalTemplate : "local-" + Espresso.Item.NavigationLocalLayout + ".xslt", 260 startlevel = Espresso.Item.NavigationLocalLevelStart, 261 endlevel = Espresso.Item.NavigationLocalLevelEnd, 262 expandmode = Espresso.Item.NavigationLocalPageTreeExpand == "True" ? "all" : "path", 263 } ) 264 </ul> 265 </nav> 266 </div> 267 268 </div> 269 </div> 270 </div> 271 </div> 272 </section> 273 } 274 275 276 <section class="e-section"> 277 <div class="container-fluid"> 278 <div class="row"> 279 <div class="@Espresso.ContentSection.ClassList"> 280 <div class="row"> 281 @GetValue("DwContent(dwcontentmain)") 282 </div> 283 </div> 284 </div> 285 </div> 286 </section> 287 </article> 288 </main> 289 <footer class="e-footer"> 290 <article class="e-footer-wrapper small"> 291 @if( Espresso.Item.FooterHide != "True" ){ 292 <section class="e-footer-content e-section"> 293 <div class="container-fluid"> 294 <div class="row"> 295 @if( string.IsNullOrEmpty( Espresso.Area.Item.FooterParagraphs ) == false ){ 296 foreach( string paragraphID in Espresso.Area.Item.FooterParagraphs.Split( new char[]{','}, StringSplitOptions.None ) ){ 297 @RenderParagraphContent( int.Parse( paragraphID ) ); 298 } 299 } 300 @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavutilitiessecondaryfooter)") ) == false ){ 301 <div class="col-12"> 302 <aside class="e-nav-utilities-secondary"> 303 <ul class="nav nav-inline"> 304 @GetValue("DwNavigation(dwnavutilitiessecondaryfooter)") 305 </ul> 306 </aside> 307 308 </div> 309 } 310 </div> 311 </div> 312 313 <div class="container-fluid"> 314 <div class="row"> 315 <!-- TrustBox widget - Mini --> 316 317 <div style="margin: 0 auto" class="trustpilot-widget" data-locale="da-DK" data-template-id="53aa8807dec7e10d38f59f32" data-businessunit-id="46a166a00000640005006a94" data-style-height="150px" data-style-width="100%" data-theme="dark"> 318 319 <a href="https://dk.trustpilot.com/review/www.botex.dk" target="_blank" rel="noopener">Trustpilot</a> 320 321 </div> 322 323 <!-- End TrustBox widget --> 324 </div> 325 </div> 326 </section> 327 } 328 <section class="e-footer-copyright e-section"> 329 <div class="container-fluid"> 330 <div class="row align-items-center"> 331 <div class="col-12 col-sm-6"> 332 <p class="e-copyright"> 333 @Translate("Footer - Copyright - Text", "Copyright &copy;")&nbsp; 334 @GetGlobalValue("Global:Server.Date.Year")&nbsp; 335 @Espresso.Area.Item.CompanyName.&nbsp; 336 @Translate("Footer - All Rights Reserved - Text", "All rights reserved.") 337 338 </p> 339 </div> 340 <div class="col-12 col-sm-6 text-right text-sm-right"> 341 <p class="payment-method-footer"> 342 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/master.svg"> 343 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/visa.svg"> 344 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/visa_electron.svg"> 345 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/vpay.svg"> 346 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/discover.svg"> 347 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/diners.svg"> 348 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/jcb.svg"> 349 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/american-express.svg"> 350 <img class="mr-1" src="/Files/Templates/Designs/botex/_assets/img/payments/DK.svg"> 351 <img src="/Files/Templates/Designs/botex/_assets/img/payments/mobilepay.svg"> 352 </p> 353 </div> 354 </div> 355 </div> 356 </section> 357 </article> 358 </footer> 359 360 </div> 361 <div class="e-cart-confirm-msg" id="js-e-cart-confirm-msg"> 362 <button type="button" class="close" data-dismiss="msg"> 363 <i class="material-icons">close</i> 364 </button> 365 <section class="e-section pt-3 pb-3"> 366 <div class="container-fluid"> 367 <div class="row"> 368 <div class="col-12"> 369 <div class="js-e-cart-confirm-msg-content"> 370 <script id="js-handlebars-tmpl-cart-msg-content" type="text/x-handlebars-template"> 371 <div class="row"> 372 373 <div class="col-12 col-md-6"> 374 <div class="e-cart-confirm-msg-last-added pt-1"> 375 <div class="row"> 376 <div class="col-2 text-right"> 377 <p class="h2"><i class="material-icons text-success">check</i></p> 378 </div> 379 <div class="col-10"> 380 <div class="row"> 381 <div class="col-12"> 382 <h2>@Translate("eCom Cart - Product Added - Heading","Added to your cart")</h2> 383 <div class="row"> 384 <div class="col-4"> 385 <p><img class="img-fluid" src="{{lastAdded.imageLargeClean}}" alt=""></p> 386 </div> 387 <div class="col-8"> 388 <h3>{{lastAdded.name}}</h3> 389 <p class="">{{lastAdded.quantity}} á {{{lastAdded.price}}}</p> 390 @*<a href="/shop/cart" class="btn btn-primary">@Translate("eCom Cart - Show Cart - Link","Show cart") ({{totalProductQuantity}})</a>*@ 391 {{#compare shippingmethod.isZero '===' true }} 392 <a href="/shop/cart" class="btn btn-primary">@Translate("eCom Cart - Show Cart - Link","Show cart") ({{totalProductQuantity}})</a> 393 {{/compare}} 394 {{#compare shippingmethod.overruleShippingFee '===' true }} 395 <a href="/shop/cart" class="btn btn-primary">@Translate("eCom Cart - Show Cart - Link","Show cart") ({{totalProductQuantity}})</a> 396 {{/compare}} 397 </div> 398 </div> 399 </div> 400 </div> 401 </div> 402 </div> 403 </div> 404 </div> 405 406 {{#compare shippingmethod.isZero '===' false }} 407 {{#compare shippingmethod.overruleShippingFee '===' false }} 408 409 <div class="col-12 col-md-6"> 410 <div class="e-cart-confirm-msg-info pt-1"> 411 <div class="row"> 412 <div class="col-2 text-right"> 413 <p class="h2"><i class="material-icons">shopping_cart</i></p> 414 </div> 415 <div class="col-10"> 416 417 <h2>@Translate("eCom Cart - Free Shipping - Heading","Get free shipping")</h2> 418 <p> 419 Køb for minimum <strong>399 DKK</strong> og få fri fragt. 420 @*@Translate("eCom Cart - Free Shipping - Text1","Buy for")&nbsp; 421 <strong>{{{shippingmethod.diffPriceForFreeFee}}}</strong>&nbsp; 422 @Translate("eCom Cart - Free Shipping - Text2","more and get free shipping")*@ 423 </p> 424 425 <p> 426 <a href="/shop/cart" class="btn btn-primary">@Translate("eCom Cart - Show Cart - Link","Show cart") ({{totalProductQuantity}})</a> 427 </p> 428 </div> 429 </div> 430 </div> 431 </div> 432 {{/compare}} 433 {{/compare}} 434 435 </div> 436 </script> 437 </div> 438 </div> 439 </div> 440 </div> 441 </section> 442 </div> 443 444 @using Dynamicweb.Admin.dk.dynamicweb.templates 445 446 @if( Espresso.Area.Item.Search == "True" ){ 447 <div class="modal fade e-search js-e-search js-e-search-modal modal-fullscreen" data-backdrop="false" data-keyboard="true" data-focus="true"> 448 <div class="modal-dialog"> 449 <div class="modal-content"> 450 <div class="modal-body"> 451 <button type="button" class="close" data-dismiss="modal"> 452 <i class="material-icons">close</i> 453 </button> 454 <div class="container-fluid"> 455 456 <div class="e-search-form-container" style="z-index:20;"> 457 <div class="row justify-content-center"> 458 <div class="col-12 col-md-10 col-lg-8 col-xl-6 mt-3"> 459 <form action="" class="e-search-form js-e-search-form"> 460 <div class="js-e-search-input-group e-search-input-group is-empty"> 461 <label class="e-search-label" for="e-search-input"><i class="material-icons">search</i></label> 462 @{ string Translate_Search_InputText = Translate("Search - Input Placeholder - Text", "Search"); } 463 <input type="text" class="js-e-search-input e-search-input form-control-plaintext" name="q" id="e-search-input" placeholder="@Translate_Search_InputText"> 464 <span class="js-e-search-clear e-search-clear"><i class="material-icons">close</i></span> 465 <button class="e-search-submit btn btn-primary" type="submit"><i class="material-icons pa-0">search</i></button> 466 </div> 467 </form> 468 </div> 469 </div> 470 </div> 471 472 <div class="js-e-search-result-container e-search-result-container"> 473 474 <div class="row justify-content-center"> 475 <div class="col-12 col-md-10 col-lg-8 col-xl-6"> 476 <p class="e-search-result-info small text-muted mt-1 mb-3"><span class="js-e-search-result-count">0</span> @Translate("Search - Result Count - Text", "results")</p> 477 </div> 478 </div> 479 480 <div class="row justify-content-center"> 481 <div class="col-12 col-xl-10"> 482 <div class="js-e-search-result-products e-search-result-products is-empty mb-4"> 483 <script id="js-e-handlebars-tmpl-search-result-item-product" type="text/x-handlebars-template"> 484 <div class="e-products"> 485 <div class="row"> 486 {{#loop products}} 487 <div class="col-12 col-sm-6 col-md-4 col-lg-4 col-xl-3 e-products-item-wrapper {{#if imageMedium}}with-bg{{/if}}"> 488 <div class="background-image" style="background-image: url('{{imageMedium}}');"></div> 489 <div class="content-wrapper" HasNew="{{HasNew}}"> 490 {{#if HasCampaign}} 491 {{{CampaignBadgeString}}} 492 {{/if}} 493 {{#if HasNew}} 494 {{{NewBadgeString}}} 495 {{/if}} 496 497 <div class="e-products-item js-e-products-item"> 498 <div class="e-products-item-container"> 499 500 <div class="e-products-item-image-container"> 501 <a class="e-products-item-image-wrapper" href="{{url}}"> 502 <img src="{{imageSmall}}" alt="" class="e-products-item-image"> 503 </a> 504 </div> 505 506 <div class="e-products-item-text-container text-center p-1"> 507 <h3 class="e-products-item-name mb-0"><a href="{{url}}">{{name}}</a></h3> 508 {{#if descriptionShortExtra01}} 509 <p class="e-products-item-text mb-0"> 510 <a href="{{url}}"> 511 {{descriptionShortExtra01}} 512 </a> 513 </p> 514 {{/if}} 515 516 <p class="e-products-item-price text-muted"> 517 <a href="{{url}}"> 518 {{#if gotDiscount}} 519 {{{DiscountPctString}}} 520 {{{priceBefore}}} 521 {{/if}} 522 {{#if fixedLowPrice}} 523 {{{fixedLowPriceString}}} 524 {{/if}} 525 <span class="">{{{price}}}</span> 526 </a> 527 </p> 528 </div> 529 530 </div> 531 </div> 532 533 </div> 534 </div> 535 536 537 538 {{/loop}} 539 </div> 540 <p class="js-e-search-products-show-all text-center"><a href="" class="btn btn-outline-primary px-6">@Translate("Search - View All Products - Button", "View All Products")</a></p> 541 </div> 542 </script> 543 </div> 544 </div> 545 </div> 546 547 <div class="row justify-content-center"> 548 <div class="col-12 col-md-10 col-lg-8 col-xl-6"> 549 <div class="js-e-search-result-pages e-search-result-pages is-empty mb-3"> 550 <script id="js-e-handlebars-tmpl-search-result-item-page" type="text/x-handlebars-template"> 551 <div class="row"> 552 {{#loop pages}} 553 <div class="col-12"> 554 <p class="mb-0"><a href="{{{url}}}" class="text-bold">{{{title}}}</a></p> 555 <p class="mb-0 small text-truncate"> 556 <a href="{{{url}}}" class="text-auto text-muted"><span class="d-none d-sm-inline">@GetGlobalValue( "Global:Request.Host" )</span>{{{url}}}</a></p> 557 <p class="small">{{{text}}}...</p> 558 </div> 559 {{/loop}} 560 </div> 561 </script> 562 </div> 563 </div> 564 </div> 565 566 <div class="js-e-search-loading-overlay e-loading-overlay e-search-loading-overlay"> 567 <div class="e-loading-spinner"></div> 568 </div> 569 570 </div> 571 572 </div> 573 </div> 574 </div> 575 </div> 576 </div> 577 } 578 579 @if( Espresso.Area.Item.BackToTopLink == "True" ){ 580 <a href="#top" class="e-back-to-top js-e-back-to-top"><i class="material-icons">keyboard_arrow_up</i></a> 581 } 582 583 584 585 <script src="/Files/Templates/Designs/botex/_assets/_dist/js/default.js?v=4.1.6" async=""></script> 586 587 588 <script> 589 var gdprData = { 590 gdpr: { 591 url: 'Default.aspx?ID=3214', 592 link: 'her' 593 }, 594 } 595 </script> 596 <!-- Start of Async iPaper Lead generation Code --> 597 <script> 598 (function(i,P,a,p,e,r){if(i.getElementById(a=a+'-'+e))return; 599 r=i.querySelector(P).parentNode.appendChild(i.createElement(P)); 600 r.id=a;r.async=1;r.src=p+(+new Date)+'/'+e+'.js'}) 601 (document,'script','ipaper-embeds','https://embeds.ipaper.io/v1/','MTYtOTg5LTExMjk='); 602 </script> 603 <!-- End of Async iPaper Lead generation Code --> 604 605 <!-- Start e-maerket widget --> 606 <script type="text/javascript" src="https://widget.emaerket.dk/js/9fe7883514bda5fd913f6089b34838f5" async=""></script> 607 <!-- // end e-maerket widget --> 608 </body> 609 610 @GetValue("CopyRightNotice") 611 </html>