Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> showOldSlider  [in template "260001#260038#GRIFOLOGY_ITEM" at line 275, column 15]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: @showOldSlider item_list=cur_section...  [in template "260001#260038#GRIFOLOGY_ITEM" in macro "grifologyImagesSection" at line 275, column 13]
	- Reached through: @grifologyImagesSection cur_section  [in template "260001#260038#GRIFOLOGY_ITEM" in macro "grifologyTextSection" at line 248, column 9]
	- Reached through: @grifologyTextSection cur_section  [in template "260001#260038#GRIFOLOGY_ITEM" at line 150, column 29]
----
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 &gt; 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 &gt; 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 &gt; 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 -->