Page source: |
1: #set ($ajax = false)
2: #if ($request.getParameter("ajax") == true)
3: #set ($ajax = true)
4: $website.decorate("ajax-decorator")
5: #end
6:
7: #set ($demo = false)
8: #if ($request.getParameter("demo") == true)
9: #set ($demo = true)
10: #end
11:
12: #set ($isFrontrow = false)
13: #if ($request.getParameter("frontrow") == true)
14: #set ($isFrontrow = true)
15: #end
16:
17: ## DEFAULT VALUES
18: #set ($layoutStyle = "standard")
19: #set ($showDate = true)
20: #set ($facebookLike = true)
21: #set ($tweetButton = true)
22: #set ($showBannerScore = true)
23: #set ($showThumb = true)
24: #set ($showVideo = true)
25: #set ($videoOverlay = true)
26: #set ($showBoxscore = true)
27: #set ($showGallery = true)
28: #set ($showCaption = true)
29: #set ($showOnlyBody = false)
30: #set ($showRelatedLinks = true)
31: #set ($headlineStyle = "h1")
32: #set ($thumbWidth = 1200)
33: #set ($infiniteScroll = false)
34: #set ($shareButtons = true)
35: #set ($showTeamLogo = false)
36:
37: ## PICK UP OPTIONS
38: $website.include("options")
39: #set ($options = $request.getAttribute("options"))
40:
41: ## SET VARIABLES FROM OPTIONS
42: #if ($options.get("article_layout_style") == "modern") #set ($layoutStyle = "modern") #end
43: #if ($options.get("article_layout_style") == "classic") #set ($layoutStyle = "classic") #end
44: #if ($options.get("article_layout_style") == "modern card") #set ($layoutStyle = "modern card") #end
45: #if ($options.get("article_show_date") == false) #set ($showDate = false) #end
46: #if ($options.get("article_facebook_like") == false) #set ($facebookLike = false) #end
47: #if ($options.get("article_tweet_button") == false) #set ($tweetButton = false) #end
48: #if ($options.get("article_banner_score") == false) #set ($showBannerScore = false) #end
49: #if ($options.get("article_show_thumb") == false)
50: #set ($showThumb = false)
51: #set ($showVideo = false)
52: #end
53: #if ($options.get("schedule_show_team_logo") == "show")
54: #set ($showTeamLogo = true)
55: #end
56: #if ($options.get("article_show_video") == false) #set ($showVideo = false) #end
57: #if ($options.get("article_video_overlay") == false) #set ($videoOverlay = false) #end
58: #if ($options.get("article_show_boxscore") == false) #set ($showBoxscore = false) #end
59: #if ($options.get("article_show_gallery") == false) #set ($showGallery = false) #end
60: #if ($options.get("article_show_caption") == false) #set ($showCaption = false) #end
61: #if ($options.get("article_show_body") == true) #set ($showOnlyBody = true) #end
62: #if ($tool.math.toInteger($options.get("article_thumb_width")))
63: #set ($thumbWidth = $tool.math.toInteger($options.get("article_thumb_width")))
64: #end
65: #set ($headlineStyle = $options.get("article_headline_style"))
66:
67: ## GRAB RELATED ARTICLES
68: #set ($relatedArticles = [])
69: #set ($relatedHeadline = "")
70: #foreach ($headline in $page.headlinesFeatured)
71: #if ($headline.name == "news" && $relatedHeadline.length() == 0)
72: #set ($relatedHeadline = $headline.url)
73: #foreach ($article in $headline.allHeadlines)
74: #if ($article.contentType == "loki/tinymce" && ($article.date && $article.title.length() > 0))
75: #set ($bool = $relatedArticles.add($article))
76: #end
77: #end
78: #end
79: #end
80:
81: ## ONLY TURN ON INFINITY SCROLL WHEN THE PAGE IS A STANDALONE PAGE, AND RELATED ARTICLES FOUND IN ABOVE BLOCK
82: #if ($options.get("article_infinite_scroll") == true && !$website.isIncluded() && $relatedArticles.size() > 0)
83: #set ($infiniteScroll = true)
84: #set ($layoutStyle = "modern")
85: #end
86:
87: ## IF FRONTROW TURN OFF DECORATOR, SHARE BUTTONS AND INFINITY SCROLL
88: #if ($isFrontrow)
89: $website.decorate("")
90: #set ($infiniteScroll = false)
91: #set ($shareButtons = false)
92: #end
93:
94: ## OVERRIDE OPTIONS FOR PRINTER FRIENDLY VIEW
95: #if ($request.getParameter("dec") == "printer-decorator")
96: #set ($infiniteScroll = false)
97: #set ($layoutStyle = "standard")
98: #set ($thumbWidth = 1200)
99: #set ($showRelatedLinks = false)
100: #set ($facebookLike = false)
101: #set ($tweetButton = false)
102: #end
103:
104: ## WHEN THE FOLLOWING ATTRIBUTE IS SET, TURN OFF THE RELATED LINKS
105: #if ($request.getAttribute("disable_related_links") == "y")
106: #set ($showRelatedLinks = false)
107: #end
108:
109: #if ($showOnlyBody == true)
110: $body
111: #else
112: #set ($relatedPages = $page.relatedInSchedule)
113: #set ($hasSidebar = false)
114: #set ($boxscores = [])
115: #set ($relatedVideo = "")
116: #set ($relatedVideoType = "")
117: #set ($relatedGallery = "")
118:
119:
120: #if ($relatedPages.size() > 0)
121: #foreach ($related in $relatedPages)
122: #if ($showBoxscore)
123: #if ($related.contentType.startsWith("statcrew") && $related.mapType == "BS" && $website.exists($related.url))
124: #set ($r = $boxscores.add($related.url))
125: #set ($hasSidebar = true)
126: #end
127: #end
128: #if ($showVideo)
129: #if (($related.contentType == "video/x-flv" || $related.contentType == "loki/video" || $related.contentType == "loki/youtube") && $related.id != $page.id && $website.exists($related.url) && $relatedVideo.length() == 0)
130: #if ($related.contentType == "video/x-flv")
131: #set ($relatedVideo = "${related.url}?dec=")
132: #set ($relatedVideoType = "video/x-flv")
133: #elseif ($related.contentType == "loki/video")
134: #set ($relatedVideo = "${related.url}?dec=")
135: #set ($relatedVideoType = "video/mp4")
136: #else
137: #set ($relatedVideo = "${related.dataAsString}")
138: #set ($relatedVideoType = "video/youtube")
139: #end
140:
141: ## VIDEOJS PLAYER CSS
142: $website.addCss($website.cdn("/info/videojs/css/video-js.min.css"))
143: #end
144: #end
145:
146: #if ($showGallery)
147: #if ($related.mapType == "GA" && !$website.isExternalLink($related.url) && $website.exists($related.url))
148: #set ($relatedGallery = $related)
149: #end
150: #end
151: #end
152: #end
153:
154: ##==================================##
155: ## BEGIN TEMPLATE MACROS
156: ##==================================##
157:
158: ###########################
159: ## SIDEBAR
160: #macro (printSidebar)
161: #if ($boxscores.size() > 0)
162: <div class="sidebar article-sidebar float-md-right clear col-md-6 col-lg-4 position-relative">
163: #foreach ($boxscore in $boxscores)
164: #set ($includeURL = "${boxscore}?tmpl=brief-stats-template")
165: #if ($showBannerScore)
166: #set ($includeURL = "${includeURL}&showLinescore=false")
167: #end
168: #if ($layoutStyle != "classic" && $showTeamLogo)
169: #set ($includeURL = "${includeURL}&showTeamLogo=true")
170: #end
171: <div class="sidebar-boxscores">
172: $website.includeAgain("${includeURL}")
173: </div>
174: #end
175: </div>
176: #end
177: #end ## printSidebar
178: ###########################
179:
180: ##########################
181: ## CAPITALIZE
182: #macro (capitalize $name)
183: $name.substring(0,1).toUpperCase()$name.substring(1).toLowerCase()
184: #end
185: ###########################
186:
187: ###########################
188: ## PAGE TITLE
189: #macro (printTitle)
190: #if($request.getAttribute("pageTitle").length() > 0)
191: #set ($pageTitle = $request.getAttribute("pageTitle"))
192: #else
193: #set ($pageTitle = "")
194: #end
195: #if ($page.title.length() > 0)
196: #set ($pageTitle = $!page.title)
197: #if ($headlineStyle == "none")
198: <div class="article-title">$!pageTitle</div>
199: #else
200: <${headlineStyle} class="article-title">$!pageTitle</${headlineStyle}>
201: #end
202: #end
203: #if($pageTitle.trim().length() == 0)
204: #set ($pageTitle = "#capitalize($page.name.trim())")
205: #end
206: $!request.setAttribute("pageTitle", "${pageTitle}")
207:
208: #if ($body.length() > 150)
209: $!request.setAttribute("pageDescription", "$body.substring(1, 150) ...")
210: #else
211: $!request.setAttribute("pageDescription", "$body")
212: #end
213:
214:
215: #end ## printTitle
216: ###########################
217:
218: ###########################
219: ## PAGE DATE
220: #macro (printDate)
221: #if ($page.date && $showDate)
222: <div class="article-date">
223: <div class="date">Posted: $formatter.formatDate($page.date, "MMM dd, yyyy")</div>
224: </div>
225: #end
226: #end ## printDate
227: ###########################
228:
229: ###########################
230: ## PAGE SOCIAL COUNTS
231: #macro (printSocialCounts)
232: #* DISABLED 01/03/2024 DUE TO ADDTHIS MODULE BEING DEPRICATED
233: #if ($shareButtons && ($facebookLike || $tweetButton) && !$website.isIncluded())
234: <div class="article-social-counts mb-2">
235: <div class="like-buttons d-flex justify-content-start" data-module="share-buttons">
236: #if ($facebookLike)
237: <div class="fb-like-btn mr-2"><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a></div>
238: #end
239: #if ($tweetButton)
240: <div class="tweet-btn mr-2"><a class="addthis_button_tweet"></a></div>
241: #end
242: </div>
243: </div>
244: #end
245: *#
246: #end ## printSocialSharing
247: ###########################
248:
249: ###########################
250: ## ARTICLE THUMBNAIL PICTURE
251: #macro (printPicture)
252: #set ($thumbSrc = $page.thumbnailURL)
253: #if ($layoutStyle == "standard" || ($layoutStyle == "classic"))
254: #set ($thumbSrc = "${thumbSrc}?max_width=${thumbWidth}")
255: #end
256: #set ($thumbAlt = "$!page.title")
257: #if ($page.thumbnailPage.altText.length() > 0)
258: #set ($thumbAlt = "$page.thumbnailPage.altText")
259: #end
260:
261: <picture alt="$thumbAlt">
262: <source media="(min-width:1200px)" srcset="${thumbSrc}?max_width=1920">
263: <source media="(min-width:992px)" srcset="${thumbSrc}?max_width=1199">
264: <source media="(min-width:578px)" srcset="${thumbSrc}?max_width=991">
265: <source media="(min-width:0px)" srcset="${thumbSrc}?max_width=576">
266: <img class="img-fluid mx-auto" src="${thumbSrc}" alt="${thumbAlt}"/>
267: </picture>
268: #end ## printPicture
269: ###########################
270:
271: ###########################
272: ## ARTICLE THUMBNAIL
273: #macro (printThumbnail)
274: #set($figureClass = "article-image position-relative text-center")
275: #if ($layoutStyle == "classic" || $layoutStyle == "standard")
276: #if ($boxscores.size() > 0)
277: #set($figureClass = "article-image position-relative col-md-12")
278: #else
279: #set($figureClass = "article-image position-relative float-md-right mw-xs-100 mw-lg-50 pl-lg-3")
280: #end
281: #end
282: #if (!$videoOverlay && $relatedVideo.length() > 0)
283: <figure class="${figureClass}">
284: <div data-module="init-video" data-file="$relatedVideo" data-type="$relatedVideoType" data-image="$!page.thumbnailURL"></div>
285: </figure>
286: #else
287: #if ($showThumb && $page.thumbnailURL)
288: #set ($buyPhotoURL = "")
289: #set ($buyPhotoURL = $website.storeURL($page.thumbnailPage))
290:
291: <figure class="${figureClass}">
292: #printPicture
293:
294: #if (($page.thumbnailPage.buyURL && $buyPhotoURL.length() > 0) || $demo)
295: <a href="${buyPhotoURL}" class="btn btn-success buynow-btn btn-sm"><span class="fa fa-shopping-cart"></span> BUY</a>
296: #end
297: #if ($showCaption == true && $page.thumbnailPage.title.length() > 0)
298: <figcaption class="p-2 figure-caption image-caption-overlay">$page.thumbnailPage.title</figcaption>
299: #end
300: #if ($relatedVideo.length() > 0 || $demo)
301: <a href="${relatedVideo}" class="play-btn video-btn-overlay" data-module="bs-scripts/init-modal-video" data-module-binding="always" data-trigger="true" data-overlay="true" data-file="$relatedVideo" data-type="$relatedVideoType">
302: <span class="center-icon-pre">
303: <span class="center-icon">
304: <span class="sr-only">Play Video</span>
305: <span class="fab fa-youtube"></span>
306: </span>
307: </span>
308: </a>
309: #end
310: </figure>
311: #end
312: #end
313: #end ## printThumbnail
314: ###########################
315:
316: ###########################
317: ## ARTICLE HEADER IMAGE
318: #macro (printHeaderImage)
319:
320: #if (!$videoOverlay && $relatedVideo.length() > 0 || ($showThumb && $page.thumbnailURL))
321: $!request.setAttribute("pageClass", "internal-page release-page")
322: #if($page.contentType.equals("loki/tinymce"))
323: $!request.setAttribute("container", "container-fluid p-0")
324: #end
325: <div class="article-header bg-primary position-relative mb-3">
326: #if (!$infiniteScroll)
327: <div class="article-header-bg mt-n3">
328: #printPicture
329: </div>
330: #end
331: <div class="article-header-hero">
332: <div class="container">
333: #printThumbnail
334: </div>
335: </div>
336: </div>
337: #end
338: #end ## printHeaderImage
339: ###########################
340:
341: ###########################
342: ## ARIA LABEL FOR RELATED LINK
343: #macro (printLinkAriaLabel $event $label)
344: #if (!$event)
345: #set ($ariaLabel = $label)
346: #else
347: #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
348: #if ($event.neutralSite.length() > 0 || $event.home)
349: #set ($vsOrAt = "vs.")
350: #else
351: #set ($vsOrAt = "at")
352: #end
353: #if ($event.teams.size() > 1)
354: #set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name} ${vsOrAt} ${event.teams.get(1).name}:")
355: #elseif ($event.teams.size() == 1)
356: #set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name}:")
357: #end
358: #if ($event.neutralSite.length() > 0)
359: #set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
360: #end
361: #set ($ariaLabel = "${ariaLabel} ${label}")
362: #end
363: aria-label="$ariaLabel"
364: #end ##printLinkAriaLabel
365: ###########################
366:
367: ###########################
368: ## RELATED LINKS
369: #macro (printRelatedLinks)
370: #if ($showRelatedLinks && $relatedPages.size() > 0)
371: #set ($printedLinks = {})
372: #set ($eventLinks = [])
373: #set ($relatedEvents = $page.schedule.getEventsWithLink($page.url))
374: #if (!$relatedEvents.isEmpty())
375: #set ($relatedEvent = $relatedEvents[0])
376: #if (!$relatedEvent.links.isEmpty())
377: #set ($eventLinks = $relatedEvent.links)
378: #end
379: #end
380: $request.setAttribute("disable_related_links", "y")
381: <div class="related-links mb-3 float-md-right col-md-6 col-lg-4">
382: <div class="list-group">
383: #foreach ($related in $relatedPages)
384: #if ($related.id != $page.id)
385: #set ($linkText = $related.mapLabel)
386: #set ($linkUrl = $related.url)
387: #set ($linkMapType = $related.mapType)
388: #set ($linkFound = false)
389: #if (!$eventLinks.isEmpty())
390: #set ($link = $eventLinks[0])
391: #foreach ($l in $eventLinks)
392: #if ($related.url == $l.url)
393: #set ($link = $l)
394: #set ($linkFound = true)
395: #end
396: #end
397: #end
398: #if ($linkFound == true)
399: #set ($linkText = $link.name)
400: #set ($linkUrl = $link.url)
401: #set ($linkMapType = $link.mapType)
402: #end
403: #set ($linkTypeCounter = 1)
404: #set ($linkTypeLabel = $linkText)
405: #if ($printedLinks.containsKey("${linkText}"))
406: #set ($linkTypeCounter = $printedLinks.get("${linkText}") + 1)
407: #set ($linkTypeLabel = "$linkTypeLabel ${linkTypeCounter}")
408: #end
409: #set ($ignore = $printedLinks.put($linkText, $linkTypeCounter))
410:
411: <a class="list-group-item list-group-item-action bg-primary text-white" #printLinkAriaLabel($relatedEvent, $linkTypeLabel) href="$linkUrl" #if ($website.isExternalLink($linkUrl))target="_blank"#end>
412: #if ($linkMapType == "GA") ##gallery
413: <span class="far fa-images mr-1"></span>
414: #elseif($linkMapType == "RC") ##recap
415: <span class="far fa-newspaper mr-1"></span>
416: #elseif($linkMapType == "PR") ##preview
417: <span class="far fa-eye mr-1"></span>
418: #elseif($linkMapType == "LS") ##live stats
419: <span class="fas fa fa-eye mr-1"></span>
420: #elseif($linkMapType == "VI") ##video
421: <span class="far fa-play-circle mr-1"></span>
422: #elseif($linkMapType == "DI") ##directions
423: <span class="fas fa-directions mr-1"></span>
424: #elseif($linkMapType == "BS") ##box scores
425: <span class="far fa-chart-bar mr-1"></span>
426: #elseif($linkMapType == "LI") ##custom links
427: <span class="fas fa-external-link-alt mr-1"></span>
428: #end
429: <span class="recap-label">${linkText}</span>
430: </a>
431: #end
432: #end
433: </div>
434: </div>
435: #end
436: #end ## printRelatedLinks
437: ###########################
438:
439: ###########################
440: ## RELATED LINKS
441: #macro (printRelatedArticles)
442: #set ($relatedArticles = $tool.sorter.sort($relatedArticles, "date:desc"))
443: <div class="article-sidebar-for-related flex-grow-1 col-lg-4 col-xl-3 d-none d-lg-block my-n3 bg-light">
444: <div class="sidebar-vertical-scroll">
445: <div class="rel-articles">
446: <div class="container p-0">
447: ## GLOBAL ADS SERVER
448: #if ($website.ads.isAdvertisingEnabled('ARTICLES'))
449: $website.includeAgain("global-adserver-slots?adSlot=articles_sidebar")
450: #end
451: #foreach ($article in $relatedArticles)
452: <div class="card my-3 preview #if($article.url == $page.url) active bg-primary text-light loaded #end">
453: <div class="card-body">
454: #if ($article.thumbnailURL.length() > 0)
455: #set ($src = $article.thumbnailURL)
456: #elseif ($website.exists("/images/setup/default-thumbnail.png"))
457: #set ($src = "/images/setup/default-thumbnail.png")
458: #elseif ($website.exists("/images/setup/thumbnail_default.jpg"))
459: #set ($src = "/images/setup/thumbnail_default.jpg")
460: #else
461: #set ($src = "/info/images/default-thumbnail.png")
462: #end
463: #set ($thumbnailURL = "${src}?max_width=576&max_height=324&crop=true")
464:
465: <img data-src="$thumbnailURL" alt="$!article.title" class="lazyload img-fluid card-img-top" />
466: <div class="card-contents">
467: <p class="card-text text-muted m-0">
468: <span class="date small">$formatter.formatLongDate($article.date)</span>
469: </p>
470: <h5 class="card-title m-0">
471: <a href="$article.url" class="title">$article.title</a>
472: </h5>
473:
474: </div>
475: </div>
476: </div>
477: #end
478: </div>
479: </div>
480: </div>
481: </div>
482: #end ##printRelatedArticles
483: ###########################
484:
485: ###########################
486: ## ARTICLE LAYOUT
487: #macro (printArticleLayout)
488: #set ($sidebarClass = "no-sidebar")
489: #if ($hasSidebar)
490: #set ($sidebarClass = "has-sidebar")
491: #end
492:
493: <div class="rich-v2 ${layoutStyle} ${sidebarClass} clearfix" data-title="$!page.title" data-url="$page.url">
494: ## BANNER IMAGE
495: #if ($layoutStyle == "modern card")
496: #printHeaderImage
497: #end
498:
499: <div class="article-body clearfix">
500: <div class="container p-0">
501: <div class="d-flex #if ($infiniteScroll) flex-column #else flex-row flex-sm-row #end justify-content-between">
502: <div class="article-main flex-fill position-relative overflow-hidden">
503:
504: #if ($layoutStyle == "standard" || $layoutStyle == "modern")
505: #printThumbnail
506: #end
507:
508: <div class="article-contents">
509:
510: <div class="article-text position-relative">
511: ## PAGE DATE
512: #printDate
513:
514: ## PAGE TITLE
515: #if (!$request.getAttribute("pageClass").contains('landing'))
516: #printTitle
517: #end
518:
519: ## ARTICLE SOCIAL COUNTS
520: #printSocialCounts
521:
522: ## BANNER SCORE
523: #if ($showBannerScore && $boxscores.size() > 0)
524: <div class="article-scores mb-3">
525: #if (($layoutStyle != "classic") && $showTeamLogo)
526: #set ($showTeamLogo = true)
527: #end
528: #foreach ($boxscore in $boxscores)
529: <div class="banner-score border-bottom mb-3">$website.include("${boxscore}?tmpl=brief-stats-template&showLinescore=true&extended=false&showTeamLogo=${showTeamLogo}")</div>
530: #end
531: </div>
532: #end
533:
534: <div class="article-body">
535:
536: #if ($layoutStyle == "classic")
537: #printThumbnail
538: #end
539:
540: ## RELATED LINKS
541: #printRelatedLinks
542:
543: ## SIDEBAR
544: #printSidebar
545:
546: ## ARTICLE BODY
547: $body.replace('src="//www.youtube.com', 'src="https://www.youtube.com')
548:
549: </div>
550:
551: ## ARTICLE FOOTER
552: #if (!$request.getAttribute("disable_article_footer"))
553: $website.include("article-footer")
554: #end
555:
556: ## SHARE BUTTONS
557: #if ($shareButtons && $infiniteScroll && !$website.isIncluded())
558: $!request.setAttribute("showBookmark", false)
559: $website.include("share-buttons")
560: #end
561: </div>
562:
563: </div>
564:
565: </div> ## article-main
566:
567:
568: </div>
569:
570: ## RELATED PHOTO GALLERY
571: #if ($relatedGallery.url)
572: ## RELATED PHOTO GALLERY
573: #set ($photos = $relatedGallery.allHeadlines)
574: #if ($photos.size() > 0)
575: <div class="article-gallery related-gallery my-3 text-center row">
576: <div class="no-gutters d-flex align-items-center">
577: <div class="flex-fill d-flex align-items-center justify-content-center">
578: <a class="btn btn-light" href="#carouselExampleIndicators" role="button" data-slide="prev">
579: <span class="fa fa-angle-left" aria-hidden="true"></span>
580: </a>
581: </div>
582: <div class="flex-fill w-100 p-3">
583: <!--Start carousel-->
584: <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
585: <div class="carousel-inner">
586: #foreach ($photo in $photos)
587: #set ($maxWidth = 320)
588: #set ($maxHeight = 180)
589: #set ($imgSrc = $photo.url)
590: #if ($maxWidth)#set ($imgSrc = "${photo.url}?max_width=${maxWidth}")#end
591: #if ($maxHeight)#set ($imgSrc = "${photo.url}?max_height=${maxHeight}")#end
592:
593: #if ($maxWidth && $maxHeight)
594: #set ($imgSrc = "${photo.url}?max_width=${maxWidth}&max_height=${maxHeight}&crop=true")
595: #end
596:
597: #set ($imgAlt = "")
598: #if (!$showLabel && $photo.altText.length() > 0)
599: #set ($imgAlt = $photo.altText)
600: #elseif (!$showLabel && $photo.title.length() > 0)
601: #set ($imgAlt = $photo.title)
602: #end
603:
604: #if($foreach.first)
605: <div class="carousel-item #if($foreach.first)active#end">
606: <div class="row">
607: #elseif($foreach.index %4 == 0)
608: </div></div>
609: <div class="carousel-item #if($foreach.first)active#end">
610: <div class="row">
611: #end
612:
613: #set ($photoItemClass = "col-6 col-sm-6 col-md-3 col-lg-3")
614: #if ($infiniteScroll)
615: #set ($photoItemClass = "col-6 col-sm-6 col-md-3 col-lg-6")
616: #end
617:
618: <div class="${photoItemClass} d-flex align-items-center justify-content-center">
619: <a class="my-3 slide" href="${relatedGallery.url}" #if ($website.isExternalLink($relatedGallery.url)) target="_blank" #end #if ($photo.title.length() > 0) aria-label="$photo.title" #end>
620: <img src="${imgSrc}" alt="${imgAlt}" class="img-fluid" />
621: #if ($showLabel && $photo.title.length() > 0)<span class="title">$photo.title</span>#end
622: </a>
623: </div>
624:
625: #if($foreach.last)
626: </div></div>
627: #end
628: #end
629: </div>
630: </div>
631: <!--End carousel-->
632: </div>
633: <div class="flex-fill align-items-center justify-content-center">
634: <a class="btn btn-light" href="#carouselExampleIndicators" data-slide="next">
635: <div class="carousel-nav-icon">
636: <span class="fa fa-angle-right" aria-hidden="true"></span>
637: </div>
638: </a>
639: </div>
640: </div>
641: </div>
642: #end
643: #end
644: $wiki
645: </div>
646: </div> ## article-body
647: ## GLOBAL ADS SERVER
648: #if ($website.ads.isAdvertisingEnabled('ARTICLES'))
649: $website.includeAgain("global-adserver-slots?adSlot=articles")
650: #end
651: </div> ##rich-v2
652: #end ## printArticleLayout
653: ###########################
654:
655: ##==================================##
656: ## END MACROS
657: ##==================================##
658:
659: #if ($infiniteScroll && !$ajax)
660: $!request.setAttribute("pageClass", "internal-page release-page")
661: <div class="infinite-articles row d-flex position-relative" data-module="bs-scripts/infinite-articles">
662: <div class="articles flex-grow-1 col-lg-8 col-xl-9">
663: #printArticleLayout
664: </div>
665: #printRelatedArticles
666: </div>
667: #else
668: #printArticleLayout
669: #end
670:
671: #end ## ends only-body check
672:
673: $!request.setAttribute("icl-videojs-script", true)
674: $!request.setAttribute("icl-videojs-flash-script", true)
675: $!request.setAttribute("icl-responsive-legacy-content-script", true)
|