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 ©")
334 @GetGlobalValue("Global:Server.Date.Year")
335 @Espresso.Area.Item.CompanyName.
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")
421 <strong>{{{shippingmethod.diffPriceForFreeFee}}}</strong>
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>