1<#include d3_macros />
2
3
4
5<#assign title = .vars['reserved-article-title'].data>
6<#assign htmlTitle = htmlUtil.escapeURL(title)>
7<#assign actualURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()>
8<#assign actualURL = actualURL?replace(":80/", "/")>
9<#assign actualURL = actualURL?replace(":443/", "/")>
10
11<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
12
13<#assign sectionCounter = 1>
14
15<#assign imageSliderArray = []>
16
17<#assign brightcoveAccountId = "2468238096001">
18<#assign brightcovePlayerId = "HylbK8zur">
19
20<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
21
22<#assign bottomShare = "">
23
24<#-- [I] Categories -->
25<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") />
26<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
27<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
28
29<#assign vocabulary_Type_Of_Innovation = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Type of innovation")!"" />
30<#assign vocabulary_Economic_impact = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Economic impact")!"" />
31<#assign vocabulary_Geographical_scope = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Geographical scope")!"" />
32<#assign vocabulary_Innovation_leader = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Innovation leader")!"" />
33<#assign vocabulary_Level_of_innovation = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Level of innovation")!"" />
34<#assign vocabulary_Patent = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Patent")!"" />
35<#assign vocabulary_Period = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Period")!"" />
36<#assign vocabulary_Scope = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Scope")!"" />
37<#assign vocabulary_Interdisciplinary_connections = vocabularyService.fetchGroupVocabulary(themeDisplay.getSiteGroupId(), "GRIFOLOGY_Interdisciplinary connections")!"" />
38
39<#assign journalArticleId = .vars['reserved-article-id'].data />
40<#assign articleResourcePrimaryKey = journalArticleResourceLocalService.getArticleResourcePrimKey(groupId, journalArticleId) />
41<#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", articleResourcePrimaryKey) />
42<#assign assetCategories = assetEntry.getCategories() />
43
44<#assign typeOfInnovation = "-" />
45<#assign economicImpact = "-" />
46<#assign geographicalScope = "-" />
47<#assign innovationLeader = "-" />
48<#assign levelOfInnovation = "-" />
49<#assign patent = "-" />
50<#assign period = "-" />
51<#assign scope = "-" />
52<#assign interdisciplinaryConnections = "-" />
53
54<#list assetCategories as cur_category>
55
56 <#if vocabulary_Type_Of_Innovation?has_content && cur_category.getVocabularyId() == vocabulary_Type_Of_Innovation.getVocabularyId()>
57 <#assign typeOfInnovation = typeOfInnovation + "; " +cur_category.getTitle(locale) />
58 <#elseif vocabulary_Economic_impact?has_content && cur_category.getVocabularyId() == vocabulary_Economic_impact.getVocabularyId()>
59 <#assign economicImpact = economicImpact + "; " +cur_category.getTitle(locale) />
60 <#elseif vocabulary_Geographical_scope?has_content && cur_category.getVocabularyId() == vocabulary_Geographical_scope.getVocabularyId()>
61 <#assign geographicalScope = geographicalScope + "; " +cur_category.getTitle(locale) />
62 <#elseif vocabulary_Innovation_leader?has_content && cur_category.getVocabularyId() == vocabulary_Innovation_leader.getVocabularyId()>
63 <#assign innovationLeader = innovationLeader + "; " +cur_category.getTitle(locale) />
64 <#elseif vocabulary_Level_of_innovation?has_content && cur_category.getVocabularyId() == vocabulary_Level_of_innovation.getVocabularyId()>
65 <#assign levelOfInnovation = levelOfInnovation + "; " +cur_category.getTitle(locale) />
66 <#elseif vocabulary_Patent?has_content && cur_category.getVocabularyId() == vocabulary_Patent.getVocabularyId()>
67 <#assign patent = cur_category.getTitle(locale) />
68 <#elseif vocabulary_Period?has_content && cur_category.getVocabularyId() == vocabulary_Period.getVocabularyId()>
69 <#assign period = cur_category.getTitle(locale) />
70 <#elseif vocabulary_Scope?has_content && cur_category.getVocabularyId() == vocabulary_Scope.getVocabularyId()>
71 <#assign scope = scope + "; " +cur_category.getTitle(locale) />
72 <#elseif vocabulary_Interdisciplinary_connections?has_content && cur_category.getVocabularyId() == vocabulary_Interdisciplinary_connections.getVocabularyId()>
73 <#assign interdisciplinaryConnections = interdisciplinaryConnections + "; " +cur_category.getTitle(locale) />
74 </#if>
75</#list>
76<#if typeOfInnovation?starts_with("-;")>
77 <#assign typeOfInnovation = typeOfInnovation?replace('-;', '') />
78 <#assign economicImpact = economicImpact?replace('-;', '') />
79 <#assign geographicalScope = geographicalScope?replace('-;', '') />
80 <#assign innovationLeader = innovationLeader?replace('-;', '') />
81 <#assign levelOfInnovation = levelOfInnovation?replace('-;', '') />
82 <#assign scope = scope?replace('-;', '') />
83 <#assign interdisciplinaryConnections = interdisciplinaryConnections?replace('-;', '') />
84</#if>
85
86<#assign technicalFileTitle = languageUtil.get(locale, "com.grifols.labels.cabinet.technical-file")/>
87<#assign yearTitle = languageUtil.get(locale, "com.grifols.labels.cabinet.year") />
88<#assign typeOfInnovationTitle = vocabulary_Type_Of_Innovation.getDescription(locale)/>
89<#assign economicImpactTitle = vocabulary_Economic_impact.getDescription(locale)/>
90<#assign geographicalScopeTitle = vocabulary_Geographical_scope.getDescription(locale)/>
91<#assign innovationLeaderTitle = vocabulary_Innovation_leader.getDescription(locale)/>
92<#assign levelOfInnovationTitle = vocabulary_Level_of_innovation.getDescription(locale) />
93<#assign patentTitle = vocabulary_Patent.getDescription(locale)/>
94<#assign periodTitle = vocabulary_Period.getDescription(locale)/>
95<#assign scopeTitle = vocabulary_Scope.getDescription(locale)/>
96<#assign interdisciplinaryConnectionsTitle = vocabulary_Interdisciplinary_connections.getDescription(locale)/>
97<#-- [F] Categories -->
98
99
100<div class="d3-detail-page" <@addAnchorLink/>>
101 <div class="container">
102 <div class="d3-item d3-col-md-8 d3-offset-md-2">
103 <#-- [I] Item header -->
104 <#assign originalLocale = themeDisplay.getLocale()>
105 <#setting locale = localeUtil.getDefault()>
106 <#assign locale = originalLocale>
107 <#if grifols_title?? && grifols_title.getData()?has_content>
108 <h1>${grifols_title.getData()}</h1>
109 </#if>
110 <#if grifols_desc?? && grifols_desc.getData()?has_content>
111 <p class="title-md">${grifols_desc.getData()}</p>
112 </#if>
113
114 <#if (thumbnail.getData())?? && thumbnail.getData() != "">
115 <#--<img src="/documents/6155530/6156284/lyophilizer.jpg/ff46fd2f-7b60-34d9-0024-1a03144837b0?t=1692605654002" class="detail-image" />-->
116 <div class="d3-figure">
117 <div class="container">
118 <div class="d3-col-xs-12 d3-col-md-8 image-wrapper px-0">
119 <span class="detail-image card-image aspect-ratio aspect-ratio-16-to-9 aspect-ratio-bg-cover" style="background-image: url(${thumbnail.getData()})"></span>
120 </div>
121 </div>
122 </div>
123 </#if>
124 <#-- [F] Item header -->
125
126 <#-- [I] Item body -->
127
128 <#-- [I] Technical file -->
129 <div class="d3-description">
130 <h2>${technicalFileTitle}</h2>
131 <p>
132 ${typeOfInnovationTitle}: ${typeOfInnovation}<br/>
133 ${scopeTitle}: ${scope}<br/>
134 ${innovationLeaderTitle}: ${innovationLeader}<br/>
135 <#if grifolsstartyear?? && grifolsstartyear?has_content>
136 ${yearTitle}: ${grifolsstartyear.data}<br/>
137 </#if>
138 ${periodTitle}: ${period}<br/>
139 ${geographicalScopeTitle}: ${geographicalScope}<br/>
140 ${economicImpactTitle}: ${economicImpact}<br/>
141 ${levelOfInnovationTitle}: ${levelOfInnovation}<br/>
142 ${patentTitle}: ${patent}<br/>
143 ${interdisciplinaryConnectionsTitle}: ${interdisciplinaryConnections}</a>
144 </p>
145 </div>
146 <#-- [F] Technical file -->
147 <#-- [I] Item sections -->
148 <#if subhead_section??>
149 <#list subhead_section.getSiblings() as cur_section>
150 <@grifologyTextSection cur_section />
151 </#list>
152 </#if>
153 <#-- [F] Item sections -->
154 <#-- [I] Timeline section -->
155 <#if timeline_section?? && timeline_section.timeline_year?? && timeline_section.timeline_year.getData()?has_content>
156 <@grifologyTimelineSection timeline_section />
157 </#if>
158 <#-- [F] Timeline section -->
159 <#-- [I] Bibliography section -->
160 <#if bibliography_section?? && bibliography_section.bibliography_item?? && bibliography_section.bibliography_item.getData()?has_content>
161 <@grifologyBiblioSection bibliography_section />
162 </#if>
163 <#-- [F] Bibliography section -->
164
165
166
167 </div>
168 </div>
169</div>
170<#--<@getGalleryRelated related_section.related_item "D3_GRIFOLOGY_CARD_FOR_GRID" "related-innovations" true />-->
171<@getGalleryRelatedText related_section.relatedItem "D3_GRIFOLOGY_CARD_FOR_GRID" "related-innovations" true />
172
173
174<#-- [I] Utility macros -->
175<#macro getGalleryRelatedText itemList suffixTemplateId titleContent translateTitle>
176 <#if itemList.getData()?has_content>
177 <#assign ddmTemplateLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMTemplateLocalService")>
178 <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
179 <#assign httpServletRequest = serviceContext.getRequest()>
180 <#assign themeDisplay = serviceContext.getThemeDisplay()>
181 <#if itemList.getSiblings()?size gt 0>
182 <div class="portlet-boundary">
183 <div class="portlet-content">
184 <div class="portlet-content-container">
185 <div class="portlet-body">
186 <div class="grey-600-bg d3-latest-news d3-item-sm-2 d3-item-md-3">
187 <div class="container">
188 <div class="d3-row">
189 <#if titleContent?has_content>
190 <h2>
191 <#if translateTitle?has_content>
192 <@liferay.language key='com.grifols.labels.cabinet.related-innovations' />
193 <#else>
194 ${titleContent}
195 </#if>
196 </h2>
197 </#if>
198 </div>
199 <div class="row" style="margin-top: 33px">
200 <#list itemList.getSiblings() as resultItem>
201
202 <#if resultItem.data?? && resultItem.data?has_content>
203 <#assign itemData = resultItem.getData()/>
204
205 <#assign article = JournalArticleLocalService.fetchArticleByUrlTitle(groupId, itemData) />
206
207 <#assign resultContent = JournalArticleLocalService.getLatestArticle(article.getResourcePrimKey()?number, 0) />
208 <#if article?has_content>
209 <div class="d3-item grid4 d3-col-xs-6 d3-col-md-3 d3-col-sm-3">
210 <#if suffixTemplateId?has_content>
211 <#assign templateId = "${suffixTemplateId}">
212 <#assign journalArticleContent = JournalArticleLocalService.getArticleDisplay(groupId, article.getArticleId(), templateId, "VIEW", locale, themeDisplay).getContent()>
213 <#if journalArticleContent?has_content>
214 ${journalArticleContent}
215 <#else>
216 ${JournalArticleLocalService.getArticleDisplay(groupId, article.getArticleId(), templateId, "VIEW", locale, themeDisplay).getContent()}
217 </#if>
218 </#if>
219 </div>
220 </#if>
221
222
223 </#if>
224
225 </#list>
226 </div>
227 </div>
228 </div>
229 </div>
230 </div>
231 </div>
232 </div>
233
234 </#if>
235 </#if>
236</#macro>
237
238
239
240<#macro grifologyTextSection cur_section>
241 <div class="d3-description">
242 <#if cur_section.subhead_title?? && cur_section.subhead_title.getData()?has_content>
243 <h2>${cur_section.subhead_title.getData()}</h2>
244 </#if>
245 <#if cur_section.subhead_description?? && cur_section.subhead_description.getData()?has_content>
246 <p>${cur_section.subhead_description.getData()}</p>
247 </#if>
248 <@grifologyImagesSection cur_section />
249 <@grifologyVideoSection cur_section />
250 </div>
251
252 <#if cur_section.subhead_quote?? && cur_section.subhead_quote.getData()?has_content>
253 <div class="d3-text">
254 <div class="d3-description">
255 <p class="title-sm text-center">
256 <span class="quotes">“</span>${cur_section.subhead_quote.getData()}<span class="quotes">”</span>
257 </p>
258 </div>
259 </div>
260 </#if>
261 <#assign sectionCounter = sectionCounter + 1>
262
263</#macro>
264
265<#macro grifologyImagesSection cur_section>
266 <#if cur_section.subhead_image.getSiblings()?has_content && cur_section.subhead_image.getSiblings()?size > 0 >
267 <#assign hasImages = false />
268 <#list cur_section.subhead_image.siblings as image>
269 <#if image.getData()?? && image.getData()?has_content>
270 <#assign hasImages = true />
271 </#if>
272 </#list>
273 <#if hasImages>
274 <#assign slider_id = "figure_carousel_" + .vars['reserved-article-id'].data>
275 <@showOldSlider item_list=cur_section.subhead_image slider_id=slider_id >
276 <#list cur_section.subhead_image.getSiblings() as slide>
277 <div class="carousel-item text-center ${slide?is_first?then('active','')}">
278 <div class="container d3-figure">
279 <#if slide?? && slide.getData()?has_content >
280 <@showPicture slide/>
281 </#if>
282 </div>
283 </div>
284 </#list>
285 </@showOldSlider>
286 </#if>
287 </#if>
288</#macro>
289
290<#macro grifologyVideoSection cur_section>
291 <#if cur_section.subhead_video?? && cur_section.subhead_video.getData()?has_content>
292 <#assign videoTitle = "" />
293 <#if cur_section.subhead_video.subhead_video_alt?? && cur_section.subhead_video.subhead_video_alt.getData()?has_content>
294 <#assign videoTitle = cur_section.subhead_video.subhead_video_alt.getData() />
295 </#if>
296 <div class="d3-videoplayer" <@addAnchorLink/>>
297 <#assign video_id = cur_section.subhead_video />
298 <@showVideoPlayer videoElement=video_id />
299 <#if videoTitle??>
300 <div class="footer-text">${videoTitle}</div>
301 </#if>
302 </div>
303 </#if>
304</#macro>
305
306<#macro grifologyBiblioSection bibliography_section>
307 <div class="d3-text-references">
308 <p><strong><@liferay.language key='com.grifols.labels.cabinet.bibliography'/></strong></p>
309
310 <#list bibliography_section.bibliography_item.siblings as reference>
311 <p>${reference.data}</p>
312 </#list>
313
314 </div>
315</#macro>
316
317<#macro grifologyTimelineSection timeline_section>
318 <div class="d3-table">
319 <div class="container">
320 <div class="table-content">
321 <#if timeline_section.timeline_title?? && timeline_section.timeline_title.getData()?has_content>
322 <h2>${timeline_section.timeline_title.getData()}</h2>
323 </#if>
324 <div class="table-8-cols">
325 <table>
326 <tbody>
327 <#assign rowcount = 1 />
328 <#assign styles = "border-top: thin solid #dedede;" />
329 <#list timeline_section.timeline_year.siblings as year>
330 <tr>
331 <td class="table-row-${rowcount} table-col-1" style="${styles}">
332 ${year.data}
333 </td>
334 <td class="table-row-${rowcount} table-col-2" style="${styles}">
335 ${year.timeline_year_description.getData()}
336 </td>
337 </tr>
338 <#assign rowcount = rowcount+1 />
339 <#assign styles = "" />
340 </#list>
341 </tbody>
342 </table>
343 </div>
344 </div>
345
346 </div>
347 </div>
348
349</#macro>
350
351
352<#macro getGalleryRelated itemList suffixTemplateId titleContent translateTitle>
353 <#if itemList.getData()?has_content>
354 <#assign ddmTemplateLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMTemplateLocalService")>
355 <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
356 <#assign httpServletRequest = serviceContext.getRequest()>
357 <#assign themeDisplay = serviceContext.getThemeDisplay()>
358 <#assign resultNumber = 1>
359 <#if itemList.getSiblings()?size gt 0>
360 <#assign workingItems = 0 />
361 <#list itemList.getSiblings() as resultItem>
362 <#if resultItem.data?? && resultItem.data?has_content>
363 <#assign itemData = resultItem.getData()?eval/>
364 <#if itemData?size > 0>
365 <#assign workingItems = workingItems + 1 />
366 <#assign article = JournalArticleLocalService.fetchArticleByUrlTitle(groupId, itemData.title) />
367
368 <#assign resultContent = JournalArticleLocalService.getLatestArticle(article.getResourcePrimKey()?number, 0) />
369 </#if>
370 </#if>
371 </#list>
372 <#if workingItems gt 0>
373 <div class="portlet-boundary">
374 <div class="portlet-content">
375 <div class="portlet-content-container">
376 <div class="portlet-body">
377 <div class="grey-600-bg d3-latest-news d3-item-sm-2 d3-item-md-3">
378 <div class="container">
379 <div class="d3-row">
380 <#if titleContent?has_content>
381 <h2>
382 <#if translateTitle?has_content>
383 <@liferay.language key='com.grifols.labels.cabinet.related-innovations' />
384 <#else>
385 ${titleContent}
386 </#if>
387 </h2>
388 </#if>
389 </div>
390 <div class="row" style="margin-top: 33px">
391 <#list itemList.getSiblings() as resultItem>
392 <#if resultNumber lt 5>
393 <#if resultItem.data?? && resultItem.data?has_content>
394 <#assign itemData = resultItem.getData()?eval/>
395 <#if itemData?size > 0>
396 <#assign article = JournalArticleLocalService.fetchArticleByUrlTitle(groupId, itemData.title) />
397
398 <#assign resultContent = JournalArticleLocalService.getLatestArticle(article.getResourcePrimKey()?number, 0) />
399 <#if article?has_content>
400 <div class="d3-item grid4 d3-col-xs-6 d3-col-md-3 d3-col-sm-3">
401 <#if suffixTemplateId?has_content>
402 <#assign templateId = "${suffixTemplateId}">
403 <#assign journalArticleContent = JournalArticleLocalService.getArticleDisplay(groupId, article.getArticleId(), templateId, "VIEW", locale, themeDisplay).getContent()>
404 <#if journalArticleContent?has_content>
405 ${journalArticleContent}
406 <#else>
407 ${JournalArticleLocalService.getArticleDisplay(groupId, article.getArticleId(), templateId, "VIEW", locale, themeDisplay).getContent()}
408 </#if>
409 </#if>
410 </div>
411 </#if>
412 <#assign resultNumber = resultNumber + 1>
413 </#if>
414 </#if>
415 </#if>
416 </#list>
417 </div>
418 </div>
419 </div>
420 </div>
421 </div>
422 </div>
423 </div>
424 </#if>
425 </#if>
426 </#if>
427</#macro>
428<#-- [I] Utility macros -->