Java method "com.educaixa.common.impl.EduCaixaCommonImpl.getDocumentMetadataInJSON(String, com.liferay.portal.kernel.theme.ThemeDisplay)" threw an exception when invoked on com.educaixa.common.impl.EduCaixaCommonImpl object "com.educaixa.common.impl.EduCaixaCommonImpl@739a84a2"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign siteMeta = UtilsService.getDo... [in template "10154#10192#RECURSO-INTERACTIVO" at line 103, column 9] ----
1<#-- get services -->
2<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
4<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
6<#assign dLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
7<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
8<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
9<#assign language = themeDisplay.getLocale()/>
10<#assign groupId = themeDisplay.getScopeGroupId()/>
11<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
12<#assign recurso = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso") />
13<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
14<#assign httpServletRequest = serviceContext.getRequest() />
15<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
16
17<#-- get the content categories -->
18<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
19<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
20
21<#-- get the results URL and valoration value-->
22<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
23<#assign valoracionesDisplayAverage = 0/>
24<#if valoracionesDisplay.fetchByResourcePK(scopeGroupId,themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
25 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(scopeGroupId,themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
26 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
27</#if>
28
29<#assign journalArticleId = .vars['reserved-article-id'].data/>
30<#assign userId =themeDisplay.getUserId()/>
31<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
32
33<#-- Resource type -->
34<#assign resourceType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.microsite") />
35<#assign imgType = "/o/educaixa-theme/images/interaccion-icon.png">
36
37<#-- Escape title text -->
38<#assign titleEscaped = "" />
39<#if titulo.getData()??>
40 <#assign titleEscaped = titulo.getData()?replace('<p>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
44 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
45 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
46</#if>
47
48<#assign subtituloEscaped = "" />
49<#if subtitulo.getData()??>
50 <#assign subtituloEscaped = subtitulo.getData() />
51 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
52 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
53</#if>
54
55<#-- get image alt -->
56<#if image_alt?? && image_alt.getData()?? && image_alt.getData() != "">
57 <#assign altImage = image_alt.getData() />
58<#else>
59 <#assign altImage = titleEscaped />
60</#if>
61
62<#-- get image banner -->
63<#if imagenficha ?? && imagenficha.getData() ?? && imagenficha.getData() != "">
64 <#assign imageSrc = imagenficha.getData() />
65<#else>
66 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-recursos.png" />
67</#if>
68
69<#-- get the content categories -->
70<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
71<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
72
73<#assign language = themeDisplay.getLocale()/>
74<#assign nivel_educativo = []>
75<#assign area_conocimiento = []>
76<#assign competencias = []>
77<#assign objectius = []>
78
79<#list asset.getCategories() as cur_category>
80 <#if cur_category.vocabularyId == 10515>
81 <#assign nivel_educativo = nivel_educativo + [cur_category.getTitle(language)]>
82 <#elseif cur_category.vocabularyId == 6>
83 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
84 <#elseif cur_category.vocabularyId == 401>
85 <#assign competencias = competencias + [cur_category.getTitle(language)]>
86 <#elseif cur_category.vocabularyId == 43203>
87 <#assign objectius = objectius + [cur_category.getTitle(language)]>
88 </#if>
89</#list>
90
91<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
92<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
93<#assign categories = thesaurusCategories + tagsCategories />
94
95<#-- Login -->
96<#assign is_signed_in = themeDisplay.isSignedIn()/>
97<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
98<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
99${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
100${loginURL.setWindowState("POP_UP")}
101
102<#if docprincipal.getData()??>
103 <#assign siteMeta = UtilsService.getDocumentMetadataInJSON(docprincipal.getData(), themeDisplay) />
104</#if>
105
106<#-- Banner section-->
107<div class="container vertical image-view">
108 <div class="row">
109 <img src="${imageSrc}" alt="${altImage}" width="900px" height="458px" class="video-player">
110 <div class="box-img col-lg square">
111 <#if resourceType != "">
112 <p class="box-img-pre-rec" >${recurso} | ${resourceType} </p>
113 </#if>
114 <#if titulo?has_content>
115 <h1 class="box-img-title-rec">${titleEscaped}</h1>
116 </#if>
117 <#if subtitulo?has_content>
118 <p class="box-img-sub-title-rec">${subtituloEscaped}</p>
119 </#if>
120 <p class="box-img-categ-rec">
121 <#if categories?has_content>
122 <#list categories as category>
123 <#-- redirects to the results page with the tag-->
124 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
125 </#list>
126 </#if>
127 </p>
128 <hr>
129 <#if siteMeta?? && siteMeta.get(0)?? && siteMeta.get(0).url?? && siteMeta.get(0).url != "">
130 <button class="card-button-purple color-caixa-purple background-white" id="myBtn" onclick="location.href='${siteMeta.get(0).url}'">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.ver")}</button>
131 </#if>
132 <div class="card-actions flex">
133 <div class="statistics">
134 <svg viewBox="0 0 36 36" class="circular-chart orange">
135 <path class="circle-bg" d="M18 2.0845
136 a 15.9155 15.9155 0 0 1 0 31.831
137 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
138 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
139 a 15.9155 15.9155 0 0 1 0 31.831
140 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
141 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
142 </svg>
143 </div>
144 <div class="share">
145 <button id="share"></button>
146 <div class="addthis_inline_share_toolbox tooltip"></div>
147 </div>
148 <div class="bookmark">
149 <#if is_signed_in>
150 <#if isUserBookmark>
151 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
152 <#else>
153 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
154 </#if>
155 <#else>
156 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
157 </#if>
158 </div>
159 </div>
160 </div>
161 </div>
162</div>
163
164<#-- Categories section-->
165<div class="container vertical info-view">
166 <div class="row">
167 <#if nivel_educativo?size != 0 >
168 <div class="col-lg col-xs-6 col-sm">
169 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.nivel.educativo")}</h2><br>
170 <ul>
171 <#list nivel_educativo as item>
172 <li class="marked">${item}</li>
173 </#list>
174 </ul>
175 </div>
176 </#if>
177 <#if area_conocimiento?size != 0 >
178 <div class="col-lg col-xs-6 col-sm">
179 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.area.conocimiento")}</h2><br>
180 <ul>
181 <#list area_conocimiento as item>
182 <li class="marked">${item}</li>
183 </#list>
184 </ul>
185 </div>
186 </#if>
187 <#if area_conocimiento?size != 0 >
188 <div class="col-lg col-xs-6 col-sm">
189 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.competencias")}</h2><br>
190 <ul>
191 <#list competencias as item>
192 <li class="marked">${item}</li>
193 </#list>
194 </ul>
195 </div>
196 </#if>
197 <#if siteMeta?? && siteMeta.get(0)?? && siteMeta.get(0).idioma?has_content>
198 <div class="col-lg col-xs-6 col-sm">
199 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.idoma")}</h2><br>
200 <ul>
201 <#assign idioma = siteMeta.get(0).idioma?keep_after('"')?keep_before('"') />
202 <li class="marked">${idioma} </li>
203 </ul>
204 </div>
205 </#if>
206 <#if siteMeta?? && siteMeta.get(0)?? && siteMeta.get(0).ano?has_content>
207 <div class="col-lg col-xs-6 col-sm">
208 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.ano")}</h2><br>
209 <ul>
210 <#assign year = siteMeta.get(0).ano />
211 <li class="marked">${year} </li>
212 </ul>
213 </div>
214 </#if>
215 </div>
216 <hr class="line-12">
217</div>
218
219<#-- Content section-->
220<div class="container vertical info-content">
221 <div class="row">
222 <div class="col-lg-7 col-xs-12">
223 <#if introduccion?has_content>
224 <h2 class="obj-rec-title">
225 <b style="color: #7B2FA1;">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.descripcion")}</b>
226 </h2>
227 <p class="description-text-rec">
228 ${introduccion.getData()}
229 </p>
230 </#if>
231 <#if objetivosdidacticos?? && objetivosdidacticos.getData()?? && objetivosdidacticos.getData() != "">
232 <h2 class="obj-rec-title"><b>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.objetivos")}</b></h2>
233 <div class="description-text-rec" style="margin-top: 4%;">
234 ${objetivosdidacticos.getData()}
235 </div>
236 </#if>
237 <#if competenceGeneralDescription?? && competenceGeneralDescription.getData()?? && competenceGeneralDescription.getData() != "">
238 <h2 class="obj-rec-title">
239 <b>${competenceGeneralDescription.getData()}</b>
240 </h2>
241 <div class="compet-rec-dropdown">
242 <#--
243 Por ahora no está el campo relleno. HAbilitar cuando se solicite
244 <li class="compet-rec-sub accordion">${competenceGeneralDescription.competenceTitle.getData()}</li>-->
245 <div class="compet-rec-sub-info panel">${competenceGeneralDescription.competenceTitle.competenceDesc.getData()}</div>
246 </div>
247 </#if>
248 <#if materialrelacionado.getData()?has_content || linkTxt.getSiblings()?has_content || materialrelacionado.titulomaterial.getSiblings()?has_content >
249 <div class="row">
250 <h2 class="obj-rec-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.materials.and.downloads")}</h2>
251 <#if materialesTexto.getData()?has_content>
252 <div>
253 ${materialesTexto.getData()}
254 </div>
255 </#if>
256 <#if linkTxt.internalLink.getData()?has_content>
257 <#list linkTxt.getSiblings() as linkTxt>
258 <ul>
259 <li class="resource-lis">
260 <#if linkTxt.internalLink.getData()?has_content && is_signed_in>
261 <a href="${linkTxt.internalLink.getData()}">
262 <#elseif linkTxt.externalLink.getData()?has_content && is_signed_in>
263 <a href="${linkTxt.externalLink.getData()}" target="_blank">
264 <#else>
265 <a onClick="openPopup('${loginURL}','','500', '650')">
266 </#if>
267 <span>${linkTxt.getData()}</span>
268 </a> <br>
269 </li>
270 </ul>
271 </#list>
272 </#if>
273 <#if materialrelacionado.titulomaterial.getSiblings()?has_content>
274 <ul>
275 <#list materialrelacionado.getSiblings() as material>
276 <#if material.getData()?has_content>
277 <#assign file = dLFileEntryLocalService.getFileEntryByUuidAndGroupId(material.getData()?keep_after_last("/")?keep_before("?"),groupId) />
278 <#if file?? && file != "">
279 <li class="resource-lis">
280 <#if is_signed_in>
281 <#if material.getData()?contains("?t")>
282 <#assign materialUrl = material.getData()[0..(material.getData()?last_index_of("/") - 1)]/>
283 <#else>
284 <#assign materialUrl = material.getData()[0..material.getData()?length]/>
285 </#if>
286 <a href="${material.getData()}" target="_blank" onClick="addGTMEvent('contenido', 'descarga recursos', '${materialUrl}')">
287 <#else>
288 <a onClick="openPopup('${loginURL}','','500', '650')">
289 </#if>
290 <span>${material.titulomaterial.getData()}</span>
291 <span> (${file.getMimeType()?keep_after_last("/")?upper_case} ${file.getSize()[0..(file.getSize()?length - 4)]}Kb)</span>
292 </a>
293 <br>
294 </li>
295 </#if>
296 </#if>
297 </#list>
298 </ul>
299 </#if>
300 </div>
301 <#if descargable.getData()?has_content>
302 <div class = "row">
303 <#if is_signed_in>
304 <#if descargable.getData()?contains("?t")>
305 <#assign descargableUrl = descargable.getData()[0..(descargable.getData()?last_index_of("/") - 1)]/>
306 <#else>
307 <#assign descargableUrl = descargable.getData()[0..descargable.getData()?length]/>
308 </#if>
309 <p class="center"><a href="${descargable.getData()}" onClick="addGTMEvent('contenido', 'descarga recursos', '${descargableUrl}')" class="link-rec">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.download.all")}</a></p>
310 <#else>
311 <p class="center"><a onClick="openPopup('${loginURL}','','500', '650')" class="link-rec">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.download.all")}</a></p>
312 </#if>
313 </div>
314 </#if>
315 </#if>
316 <#if casosuso.getData()?has_content>
317 <h2 class="obj-rec-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.example.use")}</h2>
318 <p class="desc-rec">${casosuso.getData()}</p>
319 </#if>
320 <#if otrainfodidactica.getData()?has_content>
321 <h2 class="obj-rec-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.other.didactic.info")?upper_case}</h2>
322 <p class="desc-rec">${otrainfodidactica.getData()}</p>
323 </#if>
324 </div>
325 <#-- Register content -->
326 <#if journalArticleLocalService.fetchArticle(groupId, "CAPTACION_RECURSO") ??>
327 <#assign register = journalArticleLocalService.getArticle(groupId, "CAPTACION_RECURSO")/>
328 <#if register?? && register != "">
329 <#assign registerContent = journalArticleLocalService.getArticleContent(register, register.DDMTemplateKey, "VIEW", themeDisplay.getLocale(), themeDisplay) />
330 </#if>
331 <#assign registerContent = journalArticleLocalService.getArticleContent(register, register.DDMTemplateKey, "VIEW", themeDisplay.getLocale(), themeDisplay) />
332 <div class= "captacion-ficha">
333 ${registerContent}
334 </div>
335 </#if>
336 </div>
337</div>
338
339<script>
340$( document ).ready(function() {
341 initAddThis();
342});
343</script>
Valoració mitjana global sobre 5
Basada en 0 valoracions