Error executing template "Designs/Soroto/eCom/Product/Product.cshtml"
System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
   at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest, Boolean renegotiation)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   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 System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
   at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.ConnectStream.WriteHeaders(Boolean async)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.GetResponse()
   at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
   at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   at System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.CompressedStack.Run(CompressedStack compressedStack, ContextCallback callback, Object state)
   at System.Xml.XmlTextReaderImpl.OpenUrl()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at CompiledRazorTemplates.Dynamic.RazorEngine_0791cb686d5048f0b392cd0777e7fe2e.Execute() in E:\dynamicweb.net\Solutions\FlexMedia\soroto2020.dw9.dynamicweb-cms.com\files\Templates\Designs\Soroto\eCom\Product\Product.cshtml:line 35
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 3 @using System.Web 4 @using System.Xml 5 @using System.Collections.Generic 6 7 8 @functions { 9 public class BlogModel 10 { 11 public string newsid { get; set; } 12 public string heading { get; set; } 13 public string image { get; set; } 14 public string description { get; set; } 15 public string linkurl { get; set; } 16 public string readmore { get; set; } 17 } 18 } 19 @{ 20 21 string blogidlist = GetString("Ecom:Product:Field.BlogLinks").Replace(" ", String.Empty); 22 23 int pageID = GetPageIdByNavigationTag("FeedBlog"); 24 25 26 27 string xmlurl = "https://www.soroto.dk/Default.aspx?ID=" + pageID + "&BlogList=" + blogidlist; 28 29 //string xmlurl = "https://www.soroto.dk/page-for-paragraphs/feed-blog?BlogList=" + blogidlist; 30 31 List<BlogModel> BlogItem = new List<BlogModel>(); 32 33 //Load the XML file in XmlDocument. 34 XmlDocument xmldoc = new XmlDocument(); 35 xmldoc.Load(xmlurl); 36 37 foreach (XmlNode node in xmldoc.SelectNodes("/list/item")) 38 { 39 //Fetch the Node values and assign it to Model. 40 BlogItem.Add(new BlogModel 41 { 42 43 newsid = node["newsid"].InnerText, 44 heading = node["heading"].InnerText, 45 image = node["image"].InnerText, 46 description = node["description"].InnerText, 47 linkurl = node["linkurl"].InnerText, 48 readmore = node["readmore"].InnerText 49 50 }); 51 } 52 53 // @foreach (var item in BlogItem){} 54 55 } 56 @{ 57 string ImgAltText = GetString("Ecom:Product.Name"); 58 string ImgAltTextCustom = GetString("Ecom:Product:Field.ImgAltText"); 59 if (!string.IsNullOrWhiteSpace(ImgAltTextCustom)){ImgAltText = ImgAltTextCustom;} 60 } 61 62 <link rel="stylesheet" type="text/css" href="/files/Templates/Designs/Soroto/slick/slick.css"/> 63 <link rel="stylesheet" type="text/css" href="/files/Templates/Designs/Soroto/slick/slick-theme.css"/> 64 <link rel="stylesheet" type="text/css" href="/files/Templates/Designs/Soroto/lightbox/css/lightbox.min.css"/> 65 66 <div class="container"> 67 <div class="row"> 68 69 <div class="single-product"> 70 <div class="col-12 col-sm-6 product-images"> 71 @{int DetailsCnt = 0;} 72 <div class="main-image"> 73 <div> 74 <a data-lightbox="single-product" href="/admin/public/getimage.ashx?Image=@GetValue("Ecom:Product.ImageDefault.Clean")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5"><img src="/admin/public/getimage.ashx?Image=@GetValue("Ecom:Product.ImageDefault.Clean")&amp;Format=png&amp;Height=580&amp;Width=580&amp;Compression=61&amp;Crop=5" alt="@ImgAltText" data-zoom-image="@GetValue("Ecom:Product.ImageDefault.Clean")"></a> 75 76 </div> 77 78 @foreach (var altImg in GetLoop("Ecom:Product.AlternativeImages")){ 79 if(!string.IsNullOrWhiteSpace(altImg.GetString("Ecom:Product.AlternativeImages.Image"))){ 80 DetailsCnt++; 81 <div><a data-lightbox="single-product" href="/admin/public/getimage.ashx?Image=@altImg.GetString("Ecom:Product.AlternativeImages.Image")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5"> 82 <img data-zoom-image="/admin/public/getimage.ashx?Image=@altImg.GetString("Ecom:Product.AlternativeImages.Image")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5" src="/admin/public/getimage.ashx?Image=@altImg.GetString("Ecom:Product.AlternativeImages.Image")&amp;Format=png&amp;Height=580&amp;Width=580&amp;Compression=61&amp;Crop=5" alt="@ImgAltText - @DetailsCnt"></a> 83 </div> 84 } 85 } 86 87 @foreach (var item in GetLoop("Details")) { 88 DetailsCnt++; 89 <div><a data-lightbox="single-product" href="/admin/public/getimage.ashx?Image=@item.GetValue("Ecom:Product:Detail.Image.Clean")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5"> 90 <img data-zoom-image="/admin/public/getimage.ashx?Image=@item.GetValue("Ecom:Product:Detail.Image.Clean")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5" src="/admin/public/getimage.ashx?Image=@item.GetValue("Ecom:Product:Detail.Image.Clean")&amp;Format=png&amp;Height=580&amp;Width=580&amp;Compression=61&amp;Crop=5" alt="@ImgAltText - @DetailsCnt"></a> 91 </div> 92 93 } 94 95 </div> 96 97 @{DetailsCnt = 0;} 98 99 <div class="small-images-container"> 100 101 <button class="slick-next slick-arrow" aria-label="Next" type="button" style="" aria-disabled="true">Next</button> 102 <button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="true" style="">Previous</button> 103 <div class="small-images"> 104 105 106 107 <div> 108 <a data-lightbox="single-product" href="/admin/public/getimage.ashx?Image=@GetValue("Ecom:Product.ImageDefault.Clean")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5"><img src="/admin/public/getimage.ashx?Image=@GetValue("Ecom:Product.ImageDefault.Clean")&amp;Format=png&amp;Height=70&amp;Width=70&amp;Compression=61&amp;Crop=5" alt="@ImgAltText"></a> 109 110 </div> 111 112 @foreach (var altImg in GetLoop("Ecom:Product.AlternativeImages")){ 113 if(!string.IsNullOrWhiteSpace(altImg.GetString("Ecom:Product.AlternativeImages.Image"))){ 114 DetailsCnt++; 115 <div><a data-lightbox="single-product" href="/admin/public/getimage.ashx?Image=@altImg.GetString("Ecom:Product.AlternativeImages.Image")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5"> 116 <img src="/admin/public/getimage.ashx?Image=@altImg.GetString("Ecom:Product.AlternativeImages.Image")&amp;Format=png&amp;Height=70&amp;Width=70&amp;Compression=61&amp;Crop=5" alt="@ImgAltText - @DetailsCnt"></a> 117 </div> 118 } 119 } 120 121 @foreach (var item in GetLoop("Details")) { 122 DetailsCnt++; 123 <div><a data-lightbox="single-product" href="/admin/public/getimage.ashx?Image=@item.GetValue("Ecom:Product:Detail.Image.Clean")&amp;Format=png&amp;Width=1200&amp;Compression=61&amp;Crop=5"> 124 <img src="/admin/public/getimage.ashx?Image=@item.GetValue("Ecom:Product:Detail.Image.Clean")&amp;Format=png&amp;Height=70&amp;Width=70&amp;Compression=61&amp;Crop=5" alt="@ImgAltText - @DetailsCnt"></a> 125 </div> 126 127 } 128 </div> 129 </div> 130 <div class="product-info"> 131 <div>@Translate("Product_nr", "VARENUMMER:") @GetValue("Ecom:Product.Number")</div> 132 @* 133 @if (!string.IsNullOrWhiteSpace(@GetString("Ecom:Product:Field.dbnr"))) { 134 <div>DB NR. (TUN): @GetValue("Ecom:Product:Field.dbnr")</div> 135 } 136 *@ 137 </div> 138 139 140 141 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Faq1Link"))) { 142 <a href="@GetString("Ecom:Product:Field.Faq1Link")"> 143 <div class="ask-product"> 144 <div><p>@GetValue("Ecom:Product:Field.Faq1Text")</p></div> 145 <div class="image"><img src="/Files/Images/ask.png" alt="ask us"></div> 146 </div> 147 </a> 148 } 149 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Faq2Link"))) { 150 <a href="@GetString("Ecom:Product:Field.Faq2Link")"> 151 <div class="ask-product"> 152 <div><p>@GetValue("Ecom:Product:Field.Faq2Text")</p></div> 153 <div class="image"><img src="/Files/Images/ask.png" alt="ask us"></div> 154 </div> 155 </a> 156 } 157 158 159 </div> 160 <div class="col-12 col-sm-6 product-content"> 161 <div><h1>@GetValue("Ecom:Product.Name")</h1></div> 162 <div>@GetValue("Ecom:Product.LongDescription")</div> 163 164 165 </div> 166 167 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.ExtraDescription.Value.Clean"))) { 168 <div class="col-12"> 169 @GetString("Ecom:Product:Field.ExtraDescription.Value.Clean") 170 </div> 171 } 172 173 <div class="col-12"> 174 175 176 <ul class="nav nav-tabs"> 177 @if((@GetString("Ecom:Product:Field.VideoValg.Value")=="DetaljerLinks" && !string.IsNullOrWhiteSpace(@GetString("Ecom:Product:Field.Youtube"))) || (@GetString("Ecom:Product:Field.VideoValg.Value")!="DetaljerLinks" && !string.IsNullOrWhiteSpace(@GetString("Ecom:Product:Field.Videofane")))){ 178 <li class="active"><a data-toggle="tab" href="#Video">@Translate("Product_Video", "Video")</a></li> 179 } 180 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Beskrivelesfane.Value.Clean"))) { 181 <li><a data-toggle="tab" href="#Beskrivelse">@Translate("Product_Beskrivelse", "Beskrivelse")</a></li> 182 } 183 184 @if(GetString("Ecom:Product:Field.SpecifikationerValg")!="Text" || !string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Specifikationerfane.Value.Clean"))){ 185 <li><a data-toggle="tab" href="#Specifikationer">@Translate("Product_Specifikationer", "Specifikationer")</a></li> 186 } 187 188 @if(!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.BlogLinks"))){ 189 <li><a data-toggle="tab" href="#Blog">@Translate("Product_Blog", "Blog")</a></li> 190 } 191 192 193 194 </ul> 195 196 197 198 199 <div class="tab-content"> 200 <div id="Beskrivelse" class="tab-pane"> 201 @GetString("Ecom:Product:Field.Beskrivelesfane.Value.Clean") 202 </div> 203 204 205 @if(GetString("Ecom:Product:Field.SpecifikationerValg")!="Text" || !string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Specifikationerfane.Value.Clean"))){ 206 <div id="Specifikationer" class='tab-pane fade @GetValue("Ecom:Product:Field.HighlightColumn.Value.Clean")'> 207 208 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Specifikationerfane.Value.Clean"))) { 209 @GetString("Ecom:Product:Field.Specifikationerfane.Value.Clean") 210 }else{ 211 212 213 214 215 <table class="l120" style="width:auto" cellspacing="1" cellpadding="1" border="1"> 216 @foreach (var i in GetLoop("ProductCategories")) { 217 218 <thead> 219 <tr> 220 <th scope="row">@Translate(i.GetString("Ecom:Product.Category.Name"))</th> 221 <th style="text-align:center;">@Translate(GetString("Ecom:Product:Field.ProduktKategoriTitle"))</th> 222 223 </tr> 224 </thead> 225 226 <tfoot> 227 <tr> 228 <th scope="row"></th> 229 <th></th> 230 </tr> 231 </tfoot> 232 233 <tbody> 234 @foreach (var item in i.GetLoop("ProductCategoryFields")) { 235 <tr> 236 <th scope="row">@item.GetString("Ecom:Product.CategoryField.Label")</th> 237 <td>@item.GetString("Ecom:Product.CategoryField.Value")</td> 238 </tr> 239 } 240 </tbody> 241 } 242 </table> 243 244 245 246 @* 247 248 foreach (var g in GetLoop("ProductGroups")) { 249 250 if(GetString("Ecom:Product.PrimaryOrFirstGroupID") == g.GetString("Ecom:Group.ID")){ 251 252 253 254 } 255 256 } 257 *@ 258 259 <!-- 260 <table class="l120" style="width:100%" cellspacing="1" cellpadding="1" border="1"> 261 <thead> 262 <tr> 263 <th scope="row">TVANGSBLANDER</th> 264 <th scope="col">40L</th> 265 <th scope="col">80L</th> 266 <th scope="col">100L</th> 267 <th scope="col">120L</th> 268 </tr> 269 </thead> 270 <tbody> 271 <tr> 272 <th scope="row">Motor</th> 273 <td>230v / 0,75 kW</td> 274 <td>230v / 1,1 kW</td> 275 <td>230v / 1,1 kW</td> 276 <td>230v / 1,1 kW</td> 277 </tr> 278 <tr> 279 <th scope="row">Omdr./min.</th> 280 <td>30</td> 281 <td>30</td> 282 <td>&nbsp;</td> 283 <td>&nbsp;</td> 284 </tr> 285 <tr> 286 <th scope="row">Beholderkapacitet</th> 287 <td>41 ltr.</td> 288 <td>81 ltr.</td> 289 <td>&nbsp;</td> 290 <td>&nbsp;</td> 291 </tr> 292 <tr> 293 <th scope="row">Blandekapacitet</th> 294 <td>40 ltr.</td> 295 <td>80 ltr.</td> 296 <td>&nbsp;</td> 297 <td>&nbsp;</td> 298 </tr> 299 <tr> 300 <th scope="row">Højde</th> 301 <td>103-121 cm</td> 302 <td>109-127 cm</td> 303 <td>&nbsp;</td> 304 <td>&nbsp;</td> 305 </tr> 306 <tr> 307 <th scope="row">Bredde/længde</th> 308 <td>60 cm / 60 cm</td> 309 <td>60 cm / 75 cm</td> 310 <td>&nbsp;</td> 311 <td>&nbsp;</td> 312 </tr> 313 <tr> 314 <th scope="row">Vægt</th> 315 <td>64 kg</td> 316 <td>88 kg</td> 317 <td>&nbsp;</td> 318 <td>&nbsp;</td> 319 </tr> 320 </tbody> 321 </table> 322 --> 323 324 325 } 326 327 328 329 </div> 330 } 331 332 @if(@GetString("Ecom:Product:Field.VideoValg.Value")=="DetaljerLinks"){ 333 334 335 if(!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Youtube"))){ 336 337 string[] youtubeList = new string[]{}; 338 339 if(!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.YoutubeList"))){ 340 youtubeList = GetString("Ecom:Product:Field.YoutubeList").Replace(" ", String.Empty).Split(','); 341 342 } else if(!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.Youtube"))){ 343 youtubeList = GetString("Ecom:Product:Field.Youtube").Replace(" ", String.Empty).Split(','); 344 } 345 346 347 348 349 <div id="Video" class="tab-pane active col-12 col-sm-6"> 350 351 @foreach (String youtubeVideo in youtubeList){ 352 <iframe width="560" height="315" src='https://www.youtube.com/embed/@youtubeVideo?rel=0&amp;controls=0&amp;showinfo=0' frameborder="0" allowfullscreen></iframe> 353 } 354 355 </div> 356 357 } 358 }else{ 359 if(!string.IsNullOrWhiteSpace(@GetString("Ecom:Product:Field.Videofane"))){ 360 <div id="Video" class="tab-pane active col-12 col-sm-6"> 361 @GetString("Ecom:Product:Field.Videofane") 362 </div> 363 } 364 } 365 366 367 368 369 370 371 372 373 374 375 376 377 @if(!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.BlogLinks"))){ 378 379 <div id="Blog" class="tab-pane" list="@blogidlist"> 380 <div class="blog-tab"> 381 382 @foreach (var item in BlogItem){ 383 <div class="col-12 col-sm-6 col-md-3"> 384 <a href="@item.linkurl" newsid="@item.newsid"> 385 <div class="image-cont" style="background-image:url(&quot;/admin/public/getimage.ashx?Image=@(item.image)&amp;Format=png&amp;height=500&amp;Compression=61&amp;Crop=5&quot;)"></div> 386 </a> 387 <div class="content"> 388 <a href="@item.linkurl"> 389 <div class="title">@item.heading</div> 390 </a> 391 <div class="content"> 392 <div class="newstext">@item.description</div> 393 </div> 394 <div class="more"><a href="@item.linkurl">@item.readmore</a></div> 395 </div> 396 </div> 397 } 398 </div> 399 400 </div> 401 402 403 } 404 405 406 407 408 409 410 411 412 413 414 415 </div> 416 </div> 417 418 </div> 419 </div> 420 </div> 421 422 <script type="text/javascript" src="/files/Templates/Designs/Soroto/lightbox/lightbox-plus-jquery.min.js"></script> 423 <script type="text/javascript" src="/files/Templates/Designs/Soroto/slick/slick.min.js"></script> 424 425 <script type="text/javascript"> 426 jQuery('.main-image').slick({ 427 slidesToShow: 1, 428 slidesToScroll: 1, 429 arrows: false, 430 swipe: false, 431 fade: true, 432 initialSlide: 0, 433 infinite: false, 434 lazyLoad: 'ondemand', 435 asNavFor: '.small-images' 436 }); 437 438 jQuery('.small-images').slick({ 439 slidesToShow: 6, 440 slidesToScroll:1, 441 focusOnSelect: true, 442 initialSlide: 0, 443 infinite: false, 444 asNavFor: '.main-image', 445 arrows: false, 446 dots: false, 447 draggable: false, 448 centerMode: false, 449 }); 450 451 452 453 if ($('.small-images .slick-slide').length < 7){ 454 $('.small-images').addClass("less-than-seven"); 455 } 456 457 458 $('.slick-next').on('click', function(){ 459 460 const current = parseInt($(".small-images").find('.slick-current').attr('data-slick-index')); 461 462 463 $(".small-images").slick('slickGoTo', current+1); 464 465 466 }); 467 468 469 $('.slick-prev').on('click', function(){ 470 471 const current = parseInt($(".small-images").find('.slick-current').attr('data-slick-index')); 472 473 474 $(".small-images").slick('slickGoTo', current-1); 475 476 477 }); 478 479 480 481 482 483 484 </script> 485 <script type="text/javascript" src="https://www.soroto.dk/Files/Templates/Designs/Soroto/js/jquery.ez-plus.js"></script> 486 <script defer type="text/javascript"> 487 488 $('.main-image').on('beforeChange', function(event, slick, currentSlide, nextSlide){ 489 var img = $(slick.$slides[nextSlide]).find("img"); 490 $('.zoomWindowContainer,.zoomContainer').remove(); 491 $(img).ezPlus(); 492 }); 493 494 495 496 $('.main-image .slick-current img').ezPlus(); 497 498 499 500 501 502 503 </script> 504 505 @SnippetStart("SingleProductTop") 506 507 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.TopImage.FullPath"))) { 508 <div id='block-block-@GetValue("ParagraphID")' class="top-image top-image-product" style='background-image:url(@GetValue("Ecom:Product:Field.TopImage.FullPath"))'></div> 509 } 510 511 512 513 514 @SnippetEnd("SingleProductTop") 515 516 517