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") + "&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">© @Translate("copyright", "Copyright 2004 -") @GetDate("DwDate").Year @companyName - @GetString("Item.Area.Copyright") - </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 != "" ? "&Format=" + str_format : "";
605 string str_getImageCompression = num_compression != 0 ? "&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 = "&Width=" + num_getImageWidth;
621 }
622 if (num_getImageHeight != 0)
623 {
624 str_height = "&Height=" + num_getImageHeight;
625 }
626
627 string str_output = "/Admin/Public/GetImage.ashx?Image=" + str_source + str_width + str_height + "&altFmImage_path=" + str_alternativeImage + str_getImageFormat + str_getImageCompression + "&Crop=" + num_crop;
628 return str_output;
629 }
630 }