Produciuse un erro ao procesar o modelo.
The following has evaluated to null or missing: ==> dlTool.getFileEntryByJSON(Catalogo.data) [in template "34012#34047#198466" at line 6, column 22] ---- 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: #assign fileEntry = dlTool.getFileEnt... [in template "34012#34047#198466" at line 6, column 1] ----
1<#assign dlTool = utilLocator.findUtil("lportal-ce-hook", "as.asac.template.tools.DLTool") />
2<#assign journalTool = utilLocator.findUtil("lportal-ce-hook", "as.asac.template.tools.JournalTool") />
3
4<#assign title = .vars["reserved-article-title"].data>
5
6<#assign fileEntry = dlTool.getFileEntryByJSON(Catalogo.data) />
7<#assign previewCount = dlTool.getPreviewFileEntryCount(fileEntry) />
8
9<#assign docUrl = dlTool.getPathByJSON(Catalogo.data, groupId) />
10<#assign previewUrl = httpUtil.addParameter(docUrl, "previewFileIndex", "") />
11
12<#assign request = .vars['request']>
13<#assign title=.vars["reserved-article-title"].data />
14<#assign articleId=.vars["reserved-article-id"].data />
15<#assign date=.vars["reserved-article-display-date"].data />
16<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data />
17<#assign description=.vars["reserved-article-description"].data />
18<#assign themeDisplayStr = request['theme-display']!>
19
20<#assign dateFormatted = journalTool.getDateFormat(date, "dd MMMM yyyy", locale, timezone)>
21
22<script src="${themeDisplay.getPathThemeJavaScript()}/needsharebutton/needsharebutton.js"></script>
23
24<div class="template template-detail template-publicacion-detail">
25 ${journalTool.getHTMLTitle(request, title, "portlet-title-wrapper", "portlet-title")}
26
27 <section class="row mt-4">
28 <#assign columnClass1 = "col-12" />
29 <#assign columnClass2 = "" />
30 <#if validator.isNotNull(smallImageUrl)>
31 <#assign columnClass1 = "col-sm-9 col-12" />
32 <#assign columnClass2 = "col-sm-3 col-12" />
33 </#if>
34 <section class="${columnClass1}">
35 <div class="text-metadata">
36 <span id="share-${articleId}" class="need-share-button-default"
37 data-share-icon-style="box"
38 data-share-networks="Mailto,Twitter,Pinterest,Facebook,Linkedin"
39 data-share-url="${htmlUtil.escape(themeDisplay.getURLCurrent())}"
40 data-share-title="${htmlUtil.escape(title)}"><!--share--></span>
41 <span class="date">${dateFormatted}</span>
42 </div>
43
44 <section class="mt-4">
45 <dl class="d-flex flex-wrap">
46 <#if validator.isNotNull(Autores.data)>
47 <dt class="w-25 py-2">${languageUtil.get(locale, "author")}</dt>
48 <dd class="w-75 py-2 border-bottom">
49 <#list Autores.getSiblings() as Autor>
50 <#if validator.isNotNull(Autor.data)>
51 ${Autor.data}<#if Autor_has_next>, </#if>
52 </#if>
53 </#list>
54 </dd>
55 </#if>
56
57 <#if previewCount!=0>
58 <dt class="w-25 py-2">${languageUtil.get(locale, "number")} ${languageUtil.get(locale, "of")} ${languageUtil.get(locale, "pages")}</dt>
59 <dd class="w-75 py-2 border-bottom">${previewCount}</dd>
60 </#if>
61 </dl>
62 </section>
63
64 <#if validator.isNotNull(description)>
65 <div class="text-abstract">${description}</div>
66 </#if>
67 <#if validator.isNotNull(Texto.data)>
68 <div class="text">${Texto.getData()}</div>
69 </#if>
70 </section>
71 <section class="${columnClass2}">
72 <#if validator.isNotNull(smallImageUrl)>
73 <a href="${smallImageUrl}" title="Imagen ${title}" class="image-wrapper image-wrapper-cover image-wrapper-style lightbox" style="background-image: url('${dlTool.getThumbnail(smallImageUrl, 3)}');">
74 <img src="${dlTool.getThumbnail(smallImageUrl, 3)}" alt="Imagen ${title}" />
75 </a>
76 </#if>
77 </section>
78 </section>
79
80 <#assign htmlDocuments = journalTool.getHTMLDocuments(Documentos.Documento.getSiblings()) />
81 <#if validator.isNotNull(htmlDocuments)>
82 <section class="documents">
83 <div class="h4">${languageUtil.get(locale, "documents")}</div>
84 ${htmlDocuments}
85 </section>
86
87 </#if>
88
89 <#assign htmlGallery = journalTool.getHTMLGallery(Galeria.Imagen.getSiblings(), 3, "gallery-thumbs") />
90 <#if validator.isNotNull(htmlGallery)>
91 <section class="image-gallery">
92 <div class="h4">${languageUtil.get(locale, "image-gallery")}</div>
93 ${htmlGallery}
94 </section>
95 </#if>
96
97
98 <#if Catalogo?? && validator.isNotNull(Catalogo.data) && previewCount gt 0 >
99 <#assign htmlCatalogo = journalTool.getHTMLDocuments(Catalogo.getSiblings()) />
100 <#if validator.isNotNull(htmlCatalogo)>
101 <section class="documents">
102 ${htmlCatalogo}
103 </section>
104
105 </#if>
106 <div id="canvas">
107 <div class="zoom-icon zoom-icon-in"></div>
108 <a class="download-pdf" href="${docUrl}">Descargar PDF</a>
109
110 <div class="magazine-viewport">
111 <div class="container">
112 <div class="magazine">
113 <div ignore="1" class="next-button"></div>
114 <div ignore="1" class="previous-button"></div>
115 </div>
116 </div>
117 <div class="bottom" style="display:none;">
118 <div id="slider-bar" class="turnjs-slider">
119 <div id="slider"></div>
120 </div>
121 </div>
122 </div>
123 </div>
124
125 <script type="text/javascript">
126 //share
127 new needShareDropdown(document.getElementById('share-${articleId}'));
128
129 //BackURL
130 $('.header-back-to a').click(function(event) {
131 event.preventDefault();
132 window.location = "https://www.lalin.gal"
133 });
134
135 //Eliminar efecto senna.js para los enlaces de esta página
136 $('a').attr('data-senna-off','true');
137
138
139 //Variable con el directorio de imágenes
140 window.previewUrl = "https://www.lalin.gal${previewUrl}";
141 window.previewCount = ${previewCount};
142
143 var scriptTag = document.createElement("script");
144 scriptTag.type = "text/javascript";
145 scriptTag.async = true;
146 scriptTag.src = "${themeDisplay.getPathThemeJavaScript()}/flipbook/jquery-ui-1.8.20.custom.min.js";
147 scriptTag.setAttribute('data-senna-track','temporary');
148 document.getElementsByTagName('head')[0].appendChild(scriptTag);
149
150 scriptTag = document.createElement("script");
151 scriptTag.type = "text/javascript";
152 scriptTag.async = true;
153 scriptTag.src = "${themeDisplay.getPathThemeJavaScript()}/flipbook/modernizr.2.5.3.min.js";
154 scriptTag.setAttribute('data-senna-track','temporary');
155 document.getElementsByTagName('head')[0].appendChild(scriptTag);
156
157 scriptTag = document.createElement("script");
158 scriptTag.type = "text/javascript";
159 scriptTag.async = true;
160 scriptTag.src = "${themeDisplay.getPathThemeJavaScript()}/flipbook/hash.js";
161 scriptTag.setAttribute('data-senna-track','temporary');
162 document.getElementsByTagName('head')[0].appendChild(scriptTag);
163
164 scriptTag = document.createElement("script");
165 scriptTag.type = "text/javascript";
166 scriptTag.async = true;
167 scriptTag.src = "${themeDisplay.getPathThemeJavaScript()}/flipbook/flipbook.js";
168 scriptTag.setAttribute('data-senna-track','temporary');
169 document.getElementsByTagName('head')[0].appendChild(scriptTag);
170
171 </script>
172 <#else>
173 <div class="portlet-msg-info">No se han encontrado imágenes</div>
174 </#if>
175</div>