Page source: |
1: #set ($ajax = false)
2: #if ($request.getParameter("ajax") == true)
3: #set ($ajax = true)
4: $website.decorate("")
5: #end
6:
7: #set ($reqType = "")
8: #if ($request.getParameter("type"))
9: #set ($paramType = $request.getParameter("type"))
10: #if ($paramType == "preview" || $paramType == "recap")
11: #set ($reqType = $paramType)
12: #end
13: #end
14:
15: ## PICK UP OPTIONS
16: $website.includeAgain("options")
17: #set ($options = $request.getAttribute("options"))
18:
19: #set ($view = "grid")
20: #if ($options.get("news_layout_default_view") == "list") ## default view from options
21: #set ($view = "list")
22: #elseif ($request.getParameter("view") == "list") ## default view from include parameter
23: #set ($view = "list")
24: #end
25:
26: #foreach ($cookie in $request.cookies) ## override default view from user saved cookie if set
27: #if ($cookie.name.equals("news_view") && $cookie.value.equals("list"))
28: #set ($view = "list")
29: #end
30: #end
31:
32: #set ($showToggleButtons = true)
33: #if ($options.get("news_layout_show_toggle_buttons") == "no")
34: #set ($showToggleButtons = false)
35: #end
36: #set ($showToggleButtons = $request.getParameter("showToggleButtons"))
37:
38: #set ($showThumb = true)
39: #if ($options.get("news_layout_show_thumb") == "no")
40: #set ($showThumb = false)
41: #end
42: #set ($showThumb = $request.getParameter("showThumb").toString())
43: #set ($showThumb = $Boolean.parseBoolean($showThumb))
44:
45: #if (!$showThumb)
46: #set ($view = "list")
47: #set ($showToggleButtons = false)
48: #end
49:
50: #set ($showDate = true)
51: #if ($options.get("news_layout_show_date") == "no")
52: #set ($showDate = false)
53: #end
54: #set ($showDate = $request.getParameter("showDate").toString())
55: #set ($showDate = $Boolean.parseBoolean($showDate))
56:
57: #set ($showLeadin = true)
58: #if ($options.get("news_layout_show_leadin") == "no")
59: #set ($showLeadin = false)
60: #end
61: #set ($showLeadin = $request.getParameter("showLeadin").toString())
62: #set ($showLeadin = $Boolean.parseBoolean($showLeadin))
63:
64: #set ($thumbWidth = 400)
65:
66: #set ($pageSize = 30)
67: #if ($tool.math.toInteger($request.getParameter("pageSize")))
68: #set ($pageSize = $tool.math.toInteger($request.getParameter("pageSize")))
69: #end
70:
71: #set ($pageIndex = 0)
72: #if ($tool.math.toInteger($request.getParameter("pageIndex")))
73: #set ($pageIndex = $tool.math.toInteger($request.getParameter("pageIndex")))
74: #end
75:
76: #set ($pageCount = $tool.math.ceil($tool.math.div($headlines.size(), $pageSize)))
77:
78: #set ($pageArticles = [])
79: #set ($printableArticles = [])
80: #foreach ($i in [0..$tool.math.sub($pageCount, 1)])
81: #if ($pageIndex < $pageCount && $i == $pageIndex)
82: #set ($startAt = $tool.math.mul($i, $pageSize))
83: #set ($endAt = $tool.math.add($tool.math.mul($i, $pageSize), $pageSize))
84: #if ($endAt > $headlines.size())
85: #set ($endAt = $headlines.size())
86: #end
87: #set ($pageArticles = $headlines.subList($startAt, $endAt))
88: #foreach ($article in $pageArticles)
89: #set ($type = "")
90: #foreach ($link in $article.inSchedule)
91: #if ($link.mapType == "RC" && $article.id == $link.id) ## if article is a Recap
92: #set ($type = "recap")
93: #elseif ($link.mapType == "PR" && $article.id == $link.id) ## if article is a Preview
94: #set ($type = "preview")
95: #end
96: #end
97:
98: #if ($reqType.length() == 0 || $reqType == $type)
99: #set ($bool = $printableArticles.add($article))
100: #end
101: #end
102: #if ($printableArticles.size() > 0)
103: #break
104: #else
105: #set ($pageIndex = $tool.math.add($pageIndex, 1))
106: #end
107: #end
108: #end
109:
110: ## ARTICLE MACRO
111: #macro (printStories)
112: #foreach ($article in $printableArticles)
113: <li class="story lazyload" data-expand="-50">
114: <div class="clearfix">
115:
116: #if ($article.thumbnailURL)
117: #set ($thumbnailURL = "${article.thumbnailURL}")
118: #elseif ($website.exists("/images/setup/thumbnail_default.jpg"))
119: #set ($thumbnailURL = "/images/setup/thumbnail_default.jpg")
120: #end
121:
122: <a href="$article.url" class="title-box">
123: #if ($showThumb == true)
124: <span class="thumb"><img src="/info/images/spacer.gif" data-src="${thumbnailURL}?max_width=400&useS3=true" alt="" class="lazyload" /></span>
125: #end
126: #if ($article.title.length() > 0)
127: <span class="title">$article.title</span>
128: #end
129: </a>
130:
131: <div class="details">
132: #if ($showDate == true && $article.date)
133: <div class="date">$formatter.formatDate($article.date, "'<span>'MMMM'</span>' '<span>'dd',</span>' '<span>'yyyy'</span>'")</div>
134: #end
135: #if ($showLeadin == true && $article.leadIn.length() > 0)
136: <span class="leadin">$article.leadIn</span>
137: #end
138: </div>
139:
140: </div>
141: </li>
142: #end ## loop
143: #end ## printStories
144:
145: #set ($rootClass = "news-layout ${view}")
146: #if ($request.getParameter("class"))
147: #set ($rootClass = $request.getParameter("class"))
148: #end
149:
150: <div class="$rootClass" data-module="news-layout" data-page-url="$page.url" data-page-size="$pageSize" data-show-thumb="$showThumb" data-show-date="$showDate" data-show-leadin="$showLeadin">
151:
152: #if ($page.title.length() > 0)
153: #set ($headingTag = "h1")
154: #if ($request.getParameter("headingTag"))
155: #set ($headingTag = $request.getParameter("headingTag"))
156: #end
157: <${headingTag}>$page.title</${headingTag}>
158: #end
159:
160: #if (!$website.isIncluded() || $request.getParameter("showFilters") == true)
161: <div class="filter-bar clearfix">
162:
163: <div class="type-filter">
164: <ul class="clearfix">
165: <li #if ($reqType.length() == 0) class="all-filter active" #else class="all-filter" #end><a href="${page.url}"><span>All</span></a></li>
166: <li #if ($reqType == "preview") class="preview-filter active" #else class="preview-filter" #end><a href="${page.url}?type=preview"><span>Preview</span></a></li>
167: <li #if ($reqType == "recap") class="recap-filter active" #else class="recap-filter" #end><a href="${page.url}?type=recap"><span>Recap</span></a></li>
168: </ul>
169: </div>
170:
171: ## SEASON SELECTION
172: $website.includeAgain("${page.url}?tmpl=season-dropdown-template")
173:
174: #if ($showToggleButtons == true)
175: <div class="view-switch toggle-buttons">
176: <ul class="clearfix">
177: <li #if ($view == "list") class="list active" #else class="list" #end data-view="list">
178: <a href="${page.url}?view=list" class="btn">
179: <span class="gicon gicon-menu"></span>
180: <span class="text">List View</span>
181: </a>
182: </li>
183: <li #if ($view == "grid") class="grid active" #else class="grid" #end data-view="grid">
184: <a href="${page.url}?view=grid" class="btn">
185: <span class="gicon gicon-th"></span>
186: <span class="text">Grid View</span>
187: </a>
188: </li>
189: </ul>
190: </div>
191: #end
192: </div>
193: #end
194:
195: <div class="stories clearfix">
196: #if ($printableArticles.size() > 0)
197: <ul class="clearfix">
198: #printStories
199: </ul>
200:
201: #if ($pageIndex < $tool.math.sub($pageCount, 1))
202: <a href="$page.url" class="load-more" aria-label="Load more headlines" #if ($reqType.length() > 0) data-type="$reqType" #end data-page-size="$pageSize" data-page-index="${tool.math.add($pageIndex, 1)}">Load More</a>
203: #end
204: #else
205: <p class="message">No articles to show.</p>
206: #end
207: </div>
208:
209: </div> ## news-stories
210:
211: ## GLOBAL ADS SERVER
212: #if ($website.ads.isAdvertisingEnabled('NEWS'))
213: $website.includeAgain("global-adserver-slots?adSlot=news")
214: #end
215:
216: $wiki
|