Error executing template "Designs/BocaBearings/_parsed/index.parsed.cshtml"
System.ArgumentException: Object type cannot be converted to target type.
   at RazorEngine.Compilation.CrossAppDomainCleanUp.CleanupHelper.Init(AppDomain domain, IPrinter printer)
   at RazorEngine.Compilation.CrossAppDomainCleanUp.InitHelper.CreateHelper()
   at RazorEngine.Compilation.ExecutionContextLessThread.CallHelperSafeHelper`2.AsAction()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at RazorEngine.Compilation.ExecutionContextLessThread.DefaultCallFunc[O](Func`1 f)
   at RazorEngine.Compilation.CrossAppDomainCleanUp..ctor(AppDomain toWatch, IPrinter printer)
   at RazorEngine.Compilation.CrossAppDomainCleanUp.CreateInitial()
   at System.Lazy`1.CreateValue()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Lazy`1.get_Value()
   at RazorEngine.Compilation.CrossAppDomainCleanUp.RegisterCleanup(String item, Boolean throwOnDefault)
   at RazorEngine.Templating.InvalidatingCachingProvider.CacheTemplate(ICompiledTemplate template, ITemplateKey templateKey)
   at RazorEngine.Templating.RazorEngineService.CompileAndCacheInternal(ITemplateKey key, Type modelType)
   at RazorEngine.Templating.RazorEngineService.GetCompiledTemplate(ITemplateKey key, Type modelType, Boolean compileOnCacheMiss)
   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 @using System 2 @using System.Web; 3 @using System.Text; 4 @using System.Text.RegularExpressions; 5 @using Dynamicweb.Environment; 6 @using Dynamicweb.Content 7 @using Dynamicweb.Environment.Helpers 8 @using Dynamicweb.SystemTools.Security 9 10 @{ 11 var str_projectName = "BocaBearings"; 12 var lst_socialMedia = GetLoop("Item.Area.SocialNetworks"); 13 var lst_slideshow = GetLoop("Item.Page.Slideshow"); 14 var loop_websiteLanguages = GetLoop("WebsiteLanguages"); 15 var companyName = GetString("Item.Area.CompanyName"); 16 var policy = GetString("Item.Area.PrivacyPolicy"); 17 var user = Pageview.User; 18 var userName = user?.Name; 19 var secondaryUserLogged = user != null && user.CurrentSecondaryUser != null && user.CurrentSecondaryUser.ID != 0; 20 var accountColor = ""; 21 var searchFormAction = GetString("Item.Area.SearchFormAction"); 22 23 if (secondaryUserLogged) 24 { 25 accountColor = "reverseColor"; 26 } 27 28 } 29 <!DOCTYPE HTML> 30 <!--[if lt IE 8 ]><html class="ie7" lang='@GetGlobalValue("Global:Area.LongLang")'><![endif]--><!--[if IE 8 ]><html class="ie8" lang='@GetGlobalValue("Global:Area.LongLang")'><![endif]--><!--[if IE 9 ]><html class="ie9" lang='@GetGlobalValue("Global:Area.LongLang")'><![endif]--><!--[if (gt IE 9)|!(IE)]><!--> 31 <html lang='@GetGlobalValue("Global:Area.LongLang")'><!--<![endif]--> 32 <head> 33 @if(GetValue("Title").ToString().Contains(":: Ceramic Bearing Specialists")) { 34 <title>@GetValue("Title")</title> 35 36 } 37 else { 38 <title>@GetValue("Title") @Translate("htmlTitle","by Boca Bearings :: Ceramic Bearing Specialists") </title> 39 } 40 <!-- OG Meta --> 41 @RenderSnippet("OGMeta") 42 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 43 <meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=no"> 44 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 45 <meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE"> 46 @if(GetBoolean("Item.Area.DemoSticker")){ 47 <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> 48 } 49 else { 50 if(GetBoolean("Item.Area.NoIndex")){ 51 <meta name="ROBOTS" content="NOINDEX"> 52 } 53 if(GetBoolean("Item.Area.NoFollow")){ 54 <meta name="ROBOTS" content="NOFOLLOW"> 55 } 56 } 57 58 @GetValue("MetaTags") 59 @GetValue("CopyRightNotice") 60 @GetValue("Stylesheets") 61 @RenderSnippet("outScripts") 62 @GetValue("Javascripts") 63 64 @{ 65 var designFolder = GetString("Template:DesignBaseUrl"); 66 var minify = GetBoolean("Item.Area.MinifyCSSAndJavaScript"); 67 var styleBundle = Dna.Optimizer.Renderer.RenderStyles(string.Format("{0}css",designFolder),"-wm-main-styles", null, new[]{"exceptions"},minify,true); 68 var scriptBundle = Dna.Optimizer.Renderer.RenderScripts(string.Format("{0}js",designFolder),"-wm-main-scripts",null, new[]{"exceptions"},minify,true); 69 } 70 71 @*START CUSTOM CODE - Google Fonts*@ 72 <link rel="preconnect" href="https://fonts.googleapis.com"> 73 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 74 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap" rel="stylesheet"> 75 <link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@400;600;700&family=Roboto:wght@400;500&display=swap" rel="stylesheet"> 76 @*END CUSTOM CODE*@ 77 <link rel="shortcut icon" href="/Files/Templates/Designs/@str_projectName/images/myIcon.ico" type="image/x-icon"> 78 <link rel="stylesheet" href="@styleBundle"> 79 <script src="@scriptBundle"></script> 80 @SnippetStart("outScripts") @SnippetEnd("outScripts") 81 @SnippetStart("cadFiles") 82 <link rel="stylesheet" href="@styleBundle"> 83 <script src="@scriptBundle"></script> 84 <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 85 <link href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.min.css" type="text/css" rel="stylesheet"> 86 @SnippetEnd("cadFiles") 87 88 <!--[if lte IE 9]> 89 <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> 90 <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.1.0/respond.min.js"></script> 91 <![endif]--> 92 93 <script type="text/javascript"> 94 @RenderSnippet("jsVariables") 95 @SnippetStart("jsVariables") @SnippetEnd("jsVariables") 96 var obj_settings = { 97 obj_pages:{ 98 str_current: "@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(Dynamicweb.Context.Current.Request.Url.PathAndQuery.TrimStart('/'))", 99 str_topMenu: "@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.TopMenu"))", 100 str_minicart : "@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.MiniCart"))", 101 str_login : "@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Item.Area.Login"))" 102 } 103 }, 104 obj_formErrorMessages = { 105 //str_errorMessagesTitle: "@(HttpUtility.JavaScriptStringEncode(Translate("errorMessagesTitle", "Error")))", 106 str_errorMessagesTitle: "@(HttpUtility.JavaScriptStringEncode(Translate("completeFollowing", "Please complete the following"))):", 107 str_closeWarning: "@(HttpUtility.JavaScriptStringEncode(Translate("errorMessagesCloseWarning", "close")))", 108 str_emptyField: "@(HttpUtility.JavaScriptStringEncode(Translate("emptyField", "Empty fields")))", 109 str_mustBeEqual: "@(HttpUtility.JavaScriptStringEncode(Translate("equalFields", "Fields must be equal")))", 110 str_cannotBeEqual: "@(HttpUtility.JavaScriptStringEncode(Translate("diferentFields", "Cannot be equal to")))", 111 str_viewFullDetail: "@(HttpUtility.JavaScriptStringEncode(Translate("viewFullDetail", "View full detail")))", 112 str_selectDefault: "@(HttpUtility.JavaScriptStringEncode(Translate("selectDefault", "Select default")))", 113 str_invalidEmail: "@(HttpUtility.JavaScriptStringEncode(Translate("invalidEmail", "Invalid e-mail")))", 114 str_invalidNumber: "@(HttpUtility.JavaScriptStringEncode(Translate("invalidNumber", "Invalid number")))", 115 str_invalidPhoneNumber: "@(HttpUtility.JavaScriptStringEncode(Translate("invalidPhoneNumber", "Invalid phone number")))", 116 str_invalidDate: "@(HttpUtility.JavaScriptStringEncode(Translate("invalidDate", "Invalid date")))", 117 str_userNeeded: "@(HttpUtility.JavaScriptStringEncode(Translate("userNeeded", "You need to be logged in to add an item to your wish list. Please select OK below to login to your account or Cancel to continue browsing")))" 118 }, 119 obj_loginMessages = { 120 str_login:"@(HttpUtility.JavaScriptStringEncode(Translate("login", "Login")))", 121 str_emailNotExists:"@(HttpUtility.JavaScriptStringEncode(Translate("emailNotExists", "Email not exists")))", 122 str_password:"@(HttpUtility.JavaScriptStringEncode(Translate("password", "Password")))", 123 str_forgotPassword:"@(HttpUtility.JavaScriptStringEncode(Translate("forgotPassword", "Forgot password?")))", 124 str_email:"@(HttpUtility.JavaScriptStringEncode(Translate("email", "Email")))", 125 str_username:"@(HttpUtility.JavaScriptStringEncode(Translate("username", "Username")))", 126 str_recoverPassword:"@(HttpUtility.JavaScriptStringEncode(Translate("recoverPassword", "Recover password")))", 127 str_errorPassword:"@(HttpUtility.JavaScriptStringEncode(Translate("emptyPassword", "Empty password")))", 128 str_errorEmailEmpty:"@(HttpUtility.JavaScriptStringEncode(Translate("emptyEmail", "Empty email")))", 129 str_errorUserEmpty:"@(HttpUtility.JavaScriptStringEncode(Translate("userEmpty", "Empty user")))", 130 str_errorEmail:"@(HttpUtility.JavaScriptStringEncode(Translate("invalidEmail", "Invalid email")))", 131 str_fillTheFields:"@(HttpUtility.JavaScriptStringEncode(Translate("fillTheFields", "Fill the fields")))", 132 str_wrongData:"@(HttpUtility.JavaScriptStringEncode(Translate("wrongData", "Wrong data")))" 133 }; 134 135 $(function () { 136 @userNotExist() 137 @RenderSnippet("jsOnLoadVariables") 138 @SnippetStart("jsOnLoadVariables") @SnippetEnd("jsOnLoadVariables") 139 @RenderSnippet("jsOnLoad") 140 @SnippetStart("jsOnLoad") @SnippetEnd("jsOnLoad") 141 }); 142 143 @if(!String.IsNullOrWhiteSpace(GetString("Item.Area.GoogleAnalytics"))) 144 { 145 <text> 146 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 147 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 148 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 149 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 150 ga('create', '@GetString("Item.Area.GoogleAnalytics")', 'auto'); 151 ga('send', 'pageview'); 152 </text> 153 } 154 155 <!-- olark code --> 156 /*<![CDATA[*/window.olark||(function(c){var f=window,d=document,l=f.location.protocol=="https:"?"https:":"http:",z=c.name,r="load";var nt=function(){ 157 f[z]=function(){ 158 (a.s=a.s||[]).push(arguments)};var a=f[z]._={ 159 },q=c.methods.length;while(q--){(function(n){f[z][n]=function(){ 160 f[z]("call",n,arguments)}})(c.methods[q])}a.l=c.loader;a.i=nt;a.p={ 161 0:+new Date};a.P=function(u){ 162 a.p[u]=new Date-a.p[0]};function s(){ 163 a.P(r);f[z](r)}f.addEventListener?f.addEventListener(r,s,false):f.attachEvent("on"+r,s);var ld=function(){function p(hd){ 164 hd="head";return["<",hd,"></",hd,"><",i,' onl' + 'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',"></",i,">"].join("")}var i="body",m=d[i];if(!m){ 165 return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){ 166 b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{ 167 b.contentWindow[g].open()}catch(w){ 168 c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{ 169 var t=b.contentWindow[g];t.write(p());t.close()}catch(x){ 170 b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()})({ 171 loader: "static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]}); 172 /* custom configuration goes here (www.olark.com/documentation) */ 173 olark.identify('6389-428-10-1265');/*]]>*/ 174 </script> 175 @RenderSnippet("finalHeadScripts") 176 @SnippetStart("finalHeadScripts") @SnippetEnd("finalHeadScripts") 177 178 <!-- Facebook Pixel Code --> 179 <script> 180 !function(f,b,e,v,n,t,s) 181 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 182 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 183 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 184 n.queue=[];t=b.createElement(e);t.async=!0; 185 t.src=v;s=b.getElementsByTagName(e)[0]; 186 s.parentNode.insertBefore(t,s)}(window,document,'script', 187 'https://connect.facebook.net/en_US/fbevents.js'); 188 fbq('init', '1032831470060698'); 189 fbq('track', 'PageView'); 190 fbq('track', 'ViewContent'); 191 </script> 192 <noscript> 193 <img height="1" width="1" src="https://www.facebook.com/tr?id=1032831470060698&ev=PageView&noscript=1"> 194 </noscript> 195 <!-- End Facebook Pixel Code --> 196 197 <!-- Mailchimp Code --> 198 <script id="mcjs"> 199 !function(c,h,i,m,p) 200 {m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)} 201 (document,"script","https://chimpstatic.com/mcjs-connected/js/users/f964da497b035fda71f51e948/8fc1b65fd149821f84e2a650b.js"); 202 </script> 203 <!-- End Mailchimp Code --> 204 205 <!-- Bing Code --> 206 <script>(function(w,d,t,r,u) 207 {var f,n,i;w[u]=w[u]||[],f=function() 208 {var o={ti:"5222136"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 209 {var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq"); 210 </script> 211 <!-- End Bing Code --> 212 213 @Pageview.Area.Item["HeaderScripts"] 214 215 @{ 216 var GoogleAnalyticsId = GetString("Item.Area.GoogleAnalytics4"); 217 } 218 219 @if (!String.IsNullOrWhiteSpace(GoogleAnalyticsId)) 220 { 221 <!-- Google tag (gtag.js) --> 222 <script async="" src="https://www.googletagmanager.com/gtag/js?id=@GoogleAnalyticsId"></script> 223 <script> 224 window.dataLayer = window.dataLayer || []; 225 function gtag(){dataLayer.push(arguments);} 226 gtag('js', new Date()); 227 228 gtag('config', '@GoogleAnalyticsId'); 229 </script> 230 } 231 232 </head> 233 <body class="@Pageview.Device.ToString()"> 234 <div class="wrap"> 235 236 <text>@{ 237 var areaItem = Dynamicweb.Frontend.PageView.Current().Area.Item; 238 var popupsPageId = Convert.ToInt32((string) areaItem["PopupPage"]); 239 var paragraphService = new Dynamicweb.Content.ParagraphService(); 240 var popups = paragraphService.GetParagraphs().Where(x=>x.PageID==popupsPageId); 241 242 if (popups != null) 243 { 244 var displayMessage = false; 245 var currentPage = Dynamicweb.Frontend.PageView.Current().Page.ID; 246 247 foreach (var popupParagraph in popups) 248 { 249 if (popupParagraph.ShowParagraph) 250 { 251 var popupItem = Dynamicweb.Content.Items.Item.GetItemById(popupParagraph.ItemType, popupParagraph.ItemId); 252 var message = popupItem["Message"].ToString(); 253 var pagesItemListId = popupItem["Pages"]; 254 var pagesItemList = Dynamicweb.Content.Items.ItemList.GetItemListById(Convert.ToInt32(pagesItemListId)); 255 256 foreach (var pageItem in pagesItemList.Relations) 257 { 258 var page = Dynamicweb.Content.Items.Item.GetItemById(Dynamicweb.Content.Items.ItemManager.Metadata.GetItemType("Pages").Name, pageItem.Id); 259 var popupPage = Convert.ToInt32(page["Page"].ToString()); 260 var popupForKitPages = Convert.ToBoolean(page["HasKits"].ToString()); 261 var productsListKits = Dynamicweb.Context.Current.Request.Params["ProductType"]; 262 var pageHasKits = productsListKits != null && productsListKits == "2"; 263 264 if ((popupPage == currentPage && !popupForKitPages) || (popupPage == currentPage && popupForKitPages && pageHasKits)) 265 { 266 <div class="hidden"> 267 <div id="popupMessage">@message</div> 268 </div> 269 270 @SnippetStart("jsOnLoad") 271 @:alert($("#popupMessage")[0].outerHTML); 272 @SnippetEnd("jsOnLoad") 273 } 274 } 275 } 276 } 277 } 278 }</text> 279 280 <header id="headerContainer"> 281 282 <h1 class="hide">@GetString("Title")</h1> 283 284 <div class="container"> 285 <div class="row" id="topHeaderContainer"> 286 <figure class="col-sm-6 col-xs-12 noPadding"> @*CUSTOM CODE - changing col*@ 287 <a id="logo" href="/"> 288 <img class="img-responsive" src="/Files/Templates/Designs/BocaBearings/images/logo.png" alt="@companyName" title="@companyName"> 289 </a> 290 </figure> 291 292 <div class="col-sm-6 pull-right noPadding @accountColor" id="topMenuContainer"> @*CUSTOM CODE - adding col*@ 293 294 </div> 295 296 @if(secondaryUserLogged){ 297 <div id="impersonateMenu" class="pull-right clearRight hidden-xs hidden-sm"> 298 <div> 299 @Translate("selectedAccount","Current selected account: ") @userName 300 </div> 301 </div> 302 } 303 </div> 304 305 </div> 306 307 @if(!String.IsNullOrEmpty(GetString("DwNavigation(menuMain)"))){ 308 <div id="menuMainContainer"> 309 <nav class="navbar navbar-default"> 310 <div id="menuMainTitle" class="hidden-md hidden-lg">@GetString("Title")</div> 311 <div class="navbar-header"> 312 <span class="hidden-md hidden-lg navTitle">@Translate("navigation", "Navigation")</span> 313 <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 314 <i class="fa fa-bars"></i> 315 </button> 316 </div> 317 <div class="container noPadding"> 318 <div id="navbar" class="navbar-collapse collapse"> 319 @GetValue("DwNavigation(menuMain)") 320 </div> 321 </div> 322 </nav> 323 </div> 324 } 325 326 </header> 327 <div id="topSearchWrapper"> 328 <div class="container"> @*CUSTOM CODE - Removed Class*@ 329 @if(userName != null && userName.ToString() != GetString("DW_extranet_AccessUserName")){ 330 <div id="impersonateMenu" class="pull-right hidden-lg hidden-md smallImpersonateMenu"> 331 <div> 332 @Translate("selectedAccount","Current selected account: ") @userName 333 </div> 334 </div> 335 } 336 <div class="col-xs-12 noPadding"> 337 <div class="col-md-9 col-xs-12 noPadding" id="searchMenuContainer"> 338 <nav class="navbar3 navbar-default"> 339 <div class="navbar-header"> 340 <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar3" aria-expanded="false" aria-controls="navbar3"> 341 <i class="fa fa-bars"></i> 342 </button> 343 </div> 344 <div id="navbar3" class="navbar-collapse collapse noPadding"> 345 @GetValue("DwNavigation(searchMenu)") 346 </div> 347 </nav> 348 </div> 349 <div id="searchFormContainer" class="col-md-3 noPadding"> 350 <form action="@searchFormAction" id="searchForm" class="pull-right positionRelative"> 351 <fieldset class="TextInput mandatory"> 352 <label for="sli_search_1" class="hide">Search</label> 353 <input id="sli_search_1" data-error='@Translate("searchText", "Search for something")' type="text" name="w" value='' autocomplete="off" data-provide="rac"> 354 </fieldset> 355 <button type="submit"> 356 <i class="fa fa-search"></i> 357 </button> 358 </form> 359 </div> 360 </div> 361 </div> 362 </div> 363 364 @if(lst_slideshow.Any()){ 365 <section id="topContainer"> 366 <ul class="noPadding" id="topSlideshow"> 367 @foreach(var slide in lst_slideshow) 368 { 369 var str_title = slide.GetString("Item.Page.Slideshow.Title"); 370 var str_link = !string.IsNullOrEmpty(slide.GetString("Item.Page.Slideshow.Link")) ? slide.GetString("Item.Page.Slideshow.Link") : "javascript:void(0)" ; 371 var str_image = slide.GetString("Item.Page.Slideshow.Image"); 372 var str_video = slide.GetString("Item.Page.Slideshow.Video"); 373 var str_product = slide.GetString("Item.Page.Slideshow.Product"); 374 var str_newWindow = slide.GetBoolean("Item.Page.Slideshow.OpenInNewWindow") ? "_blank" : "_self" ; 375 <li> 376 @if(!string.IsNullOrEmpty(str_video) && !string.IsNullOrEmpty(str_image)){ 377 <img src="@str_image" alt="@str_title" title="@str_title"> 378 <iframe width="490" height="370" src="@str_video"> 379 </iframe> 380 } 381 else if(!string.IsNullOrEmpty(str_product)){ 382 var prodHref = "/Default.aspx?ID=" + GetString("Item.Area.ProductDetail") + "&amp;ProductID=" + str_product.Replace("p_", ""); 383 var image = Dynamicweb.Ecommerce.Products.Product.GetProductById(str_product.Replace("p_", "")).ImageLarge; 384 image = !string.IsNullOrEmpty(str_image) ? str_image : image; 385 image = GetImage(image,1300,0,1024,0,600,0,"jpg"); 386 387 <a href="@prodHref" target="@str_newWindow"> 388 <img src="@image" alt="@str_title" title="@str_title"> 389 </a> 390 } 391 else if(!string.IsNullOrEmpty(str_image)){ 392 str_image = GetImage(str_image,1300,0,1024,0,600,0,"jpg"); 393 <a href="@str_link" target="@str_newWindow"> 394 <img src="@str_image" alt="@str_title" title="@str_title"> 395 </a> 396 } 397 </li> 398 } 399 </ul> 400 </section> 401 } 402 403 404 @if(!String.IsNullOrEmpty(GetString("DwContent(centralContentDw)"))){ 405 string sliPage = Pageview.Area.Item["SLIPage"].ToString(); 406 if(!String.IsNullOrEmpty(GetString("DwNavigation(breadCrumbsMenu)")) && GetInteger("DwPageID") != Int32.Parse(sliPage)){ 407 <div class="container"> 408 <nav id="breadCrumbContainer" class="col-xs-12 noPadding"> 409 @GetValue("DwNavigation(breadCrumbsMenu)") 410 </nav> 411 </div> 412 } 413 <section id="centralContainer" class="container"> 414 <div id="centralContent" class="subpage col-xs-12"> 415 @if(GetBoolean("Item.Page.ShowSupport.Value")) { 416 <div id="supportContainer" class="col-xs-12 hidden-xs"> 417 <div class="col-xs-12 noPadding"> 418 <div class="col-sm-4 col-xs-12"> 419 <span class="h2">@Translate("callUs", "Call us")</span> 420 <div> 421 @Translate("TollFreePhone", "Toll free phone:") 422 <a href='tel:@GetString("Item.Area.Phone.Value")' onclick="ga('send', 'event', 'phone number', 'click', 'support-page');">@GetString("Item.Area.Phone.Value")</a> 423 <br><small>@Translate("schedule", "Mon - Fri : 8:30 AM to 5:30 PM Local Time")</small> 424 </div> 425 </div> 426 <div class="col-sm-4 col-xs-12"> 427 <span class="h2">@Translate("emailUs", "Email us")</span> 428 <div> 429 <a href='mailto:@GetString("Item.Area.Email.Value")' onclick="ga('send', 'event', 'email address', 'click', 'support-page');">@GetString("Item.Area.Email.Value")</a> 430 </div> 431 </div> 432 <div class="col-sm-4 col-xs-12"> 433 <span class="h2">@Translate("liveChat", "Live chat")</span> 434 <div> 435 <span class="clearLeft displayBlock">@Translate("ourChatTeamIsHereToHelp", "Our chat team is here to help")</span> 436 <a id="liveChatButton" class="btn-blue generalButton pull-left" href="#">@Translate("chatNow", "Chat Now") <i class="fa fa-weixin"></i></a> 437 </div> 438 </div> 439 </div> 440 </div> 441 } 442 443 @if(GetBoolean("Item.Page.ShowParentPageTitle.Value")) { 444 <span class="h1 pageTitle col-xs-12">@GetString("DwPageName_2")</span> 445 } 446 447 @if(GetBoolean("Item.Page.ShowPageTitle.Value")) { 448 <span class="h1 pageTitle col-xs-12">@GetString("Title")</span> 449 } 450 451 @if(!String.IsNullOrEmpty(GetString("DwNavigation(horizontalMenu)")) && !GetBoolean("Item.Page.HideHorizontalMenu")){ 452 <nav class="col-xs-12 hidden-xs" id="horizontalMenuContainer"> 453 <div class="blueBackgroundStripes noPadding"> 454 @GetValue("DwNavigation(horizontalMenu)") 455 </div> 456 </nav> 457 } 458 459 <div id="centralContentDw">@GetValue("DwContent(centralContentDw)")</div> 460 </div> 461 </section> 462 } 463 464 <footer id="footer" class="container"> 465 466 <div id="getNewsContainer" class="col-xs-12 noPadding"> 467 <h2>@Translate("getNews", "Get news on boca bearings to your inbox")</h2> 468 @{ 469 var subscribeNewsletterPageId = GetString("Item.Area.SubscribeNewsletter"); 470 var antiSpamFields = Dynamicweb.SystemTools.Security.FormAntispam.AntiSpamFields("subscriptionForm"); 471 var spamScript = FormAntispam.AntiSpamFieldsScript(LinkHelper.GetUrlWithPort(Dynamicweb.Context.Current.Request.Url.OriginalString, false)); 472 var onSubmit = $"{spamScript};return s(this);"; 473 } 474 <form method="post" id="subscriptionForm" name="subscriptionForm" enctype="multipart/form-data" action="/Default.aspx?ID=@subscribeNewsletterPageId" onsubmit="@onSubmit"> 475 @antiSpamFields 476 <input type="hidden" name="ID" value='@GetString("Item.Area.SubscribeNewsletter")'> 477 <input type="hidden" name="UserManagementForm" value="1"> 478 <input type="hidden" name="UserManagementEditForm" value="1"> 479 <input type="hidden" id="UserManagementForm.DeleteImage" name="UserManagementForm.DeleteImage"> 480 <input name="UserManagement_Form_EmailAllowed_ApplyValue" type="hidden" id="UserManagement_Form_EmailAllowed_ApplyValue" value="AllowEmail"> 481 <input name="UserManagement_Form_EmailAllowed" type="hidden" id="UserManagement_Form_EmailAllowed" value="True"> 482 483 <fieldset class="mandatory checkEmail"> 484 <label class="hide" for="yourEmail">@Translate("yourEmail", "Enter your email")</label> 485 <input type="text" name="UserManagement_Form_Email" id="yourEmail" placeholder='@Translate("yourEmail", "Enter your email")' value=''> 486 <input type="submit" class="generalButton" value='@Translate("submit", "Submit")'> 487 </fieldset> 488 </form> 489 </div> 490 491 <hr class="hrHEight15"> 492 493 <nav class="col-xs-12 noPadding hidden-sm hidden-xs"> 494 @GetValue("DwNavigation(footerMenu)") 495 </nav> 496 497 <hr class="hrHEight15 hidden-sm hidden-xs"> 498 499 <nav class="col-xs-12 col-sm-2 noPadding hidden-sm hidden-xs"> 500 @GetValue("DwNavigation(footerBottomMenu)") 501 </nav> 502 <ul id="contactUs" class="col-xs-3 hidden-sm hidden-xs"> 503 <li> 504 @Translate("contactUs", "Contact us") 505 <ul> 506 <li><i class="fa fa-phone"></i><a href='tel:@GetString("Item.Area.Phone")' onclick="ga('send', 'event', 'phone number', 'click', 'footer');">@GetString("Item.Area.Phone")</a></li> 507 <li><i class="fa fa-envelope"></i><a href='mailto:@GetString("Item.Area.Email")' onclick="ga('send', 'event', 'email address', 'click', 'footer');">@GetString("Item.Area.Email")</a></li> 508 <li></li> 509 </ul> 510 </li> 511 </ul> 512 513 @if(lst_socialMedia.Any()) 514 { 515 <ul class="noPadding" id="socialMedia"> 516 @foreach(var socialItem in lst_socialMedia) 517 { 518 var str_class = socialItem.GetString("Item.Area.SocialNetworks.Icon"); 519 var str_name = socialItem.GetString("Item.Area.SocialNetworks.Name"); 520 var str_link = socialItem.GetString("Item.Area.SocialNetworks.Link"); 521 522 <li><a title='@str_name' class="@str_class fa" target="_blank" href="@str_link"><span class="hide">@str_name</span></a></li> 523 } 524 </ul> 525 } 526 527 <hr class="hrHEight8"> 528 529 <span class="copyright pull-left">&copy; @Translate("copyright", "Copyright 2004 -") @GetDate("DwDate").Year @companyName - @GetString("Item.Area.Copyright") &nbsp;-&nbsp;&nbsp;</span> 530 <a class="pull-left policy" href="@policy">@Translate("policy", "Privacy policy")</a> 531 532 </footer> 533 </div> 534 @if(GetBoolean("Item.Area.DemoSticker")){ 535 <div class="demoMode">Demo</div> 536 } 537 538 <script src="//bocabearings.resultspage.com/rac/sli-rac.config.js" type="text/javascript"></script> 539 <script src="https://d3v27wwd40f0xu.cloudfront.net/js/tracking/sidecar_bocabearing.js" type="text/javascript"></script> 540 541 <script type="text/javascript"> 542 adroll_adv_id = "VARHNJEMGJDLVJKPL4KPO3"; 543 adroll_pix_id = "4MKUEKQFXZCDBBKXUTGTQV"; 544 adroll_version = "2.0"; 545 (function(w, d, e, o, a) { 546 w.__adroll_loaded = true; 547 w.adroll = w.adroll || []; 548 w.adroll.f = [ 'setProperties', 'identify', 'track', 'identify_email', 'get_cookie' ]; 549 var roundtripUrl = " https://s.adroll.com/j/" + adroll_adv_id + "/roundtrip.js"; 550 for (a = 0; a < w.adroll.f.length; a++) { 551 w.adroll[w.adroll.f[a]] = w.adroll[w.adroll.f[a]] || (function(n) { 552 return function() { 553 w.adroll.push([ n, arguments ]) 554 } 555 })(w.adroll.f[a]) 556 } 557 e = d.createElement('script'); 558 o = d.getElementsByTagName('script')[0]; 559 e.async = 1; 560 e.src = roundtripUrl; 561 o.parentNode.insertBefore(e, o); 562 })(window, document); 563 adroll.track("pageView"); 564 </script> 565 566 @SnippetStart("jsEndBody") @SnippetEnd("jsEndBody") 567 @RenderSnippet("jsEndBody") 568 569 </body> 570 </html> 571 572 <!-- @GetGlobalValue("Global:Request.PathAndQuery") --> 573 <!-- @GetGlobalValue("Global:Request.Url") --> 574 575 @helper userNotExist() { 576 if(Dynamicweb.Environment.ExecutingContext.IsFrontEnd() && !Dynamicweb.Security.UserManagement.User.IsExtranetUserLoggedIn()) 577 { 578 if(Dynamicweb.Context.Current.Request.Params["Password"] != null && Dynamicweb.Context.Current.Request.Params["Username"] != null) 579 { 580 @SnippetStart("jsOnLoad") 581 @:alert('@Translate("User not found in the database")'); 582 @SnippetEnd("jsOnLoad") 583 } 584 } 585 586 if(Dynamicweb.Context.Current.Request["loginsuccess"] != null){ 587 @SnippetStart("jsOnLoad") 588 @:alert('@Translate("loginSuccessText", "You have successfully been logged in.")'); 589 @SnippetEnd("jsOnLoad") 590 } 591 } 592 593 @functions{ 594 public static string GetImage(string str_source, int num_width, int num_height, int num_widthTablet, int num_heightTablet, int num_widthMobile, int num_heightMobile, string str_format = "", int num_compression = 0, int num_crop = 5) 595 { 596 Dynamicweb.Frontend.PageView obj_currentPageview = Dynamicweb.Frontend.PageView.Current(); 597 string str_currDevice = obj_currentPageview.Device.ToString(); 598 string str_alternativeImage = obj_currentPageview.Area.Item["NoImage"] != null ? obj_currentPageview.Area.Item["NoImage"].ToString() : "/Files/Templates/Designs/BocaBearings/images/alternativeImage.jpg"; 599 600 string str_width = ""; 601 string str_height = ""; 602 int num_getImageWidth = num_width != 0 ? num_width : 0; 603 int num_getImageHeight = num_height != 0 ? num_height : 0; 604 string str_getImageFormat = str_format != "" ? "&amp;Format=" + str_format : ""; 605 string str_getImageCompression = num_compression != 0 ? "&amp;Compression=" + num_compression : ""; 606 607 if (str_currDevice == Dynamicweb.Frontend.Devices.DeviceType.Tablet.ToString()) 608 { 609 num_getImageWidth = num_widthTablet != 0 ? num_widthTablet : num_getImageWidth; 610 num_getImageHeight = num_heightTablet != 0 ? num_heightTablet : num_getImageHeight; 611 } 612 else if (str_currDevice == Dynamicweb.Frontend.Devices.DeviceType.Mobile.ToString()) 613 { 614 num_getImageWidth = num_widthMobile != 0 ? num_widthMobile : num_getImageWidth; 615 num_getImageHeight = num_heightMobile != 0 ? num_heightMobile : num_getImageHeight; 616 } 617 618 if (num_getImageWidth != 0) 619 { 620 str_width = "&amp;Width=" + num_getImageWidth; 621 } 622 if (num_getImageHeight != 0) 623 { 624 str_height = "&amp;Height=" + num_getImageHeight; 625 } 626 627 string str_output = "/Admin/Public/GetImage.ashx?Image=" + str_source + str_width + str_height + "&amp;altFmImage_path=" + str_alternativeImage + str_getImageFormat + str_getImageCompression + "&amp;Crop=" + num_crop; 628 return str_output; 629 } 630 }