Qui era qui a l'antic Egipte
S'ha produït un error mentre es processava la plantilla.
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@49b5b96d"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign siteMeta = UtilsService.getDo... [in template "76121110924137#32361#RECURSO-MICROSITE" at line 109, 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=" /><#assign valoracionesDisplayAverage = 0/>
23<#if valoracionesDisplay.fetchByResourcePK(scopeGroupId,themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
24 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(scopeGroupId,themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
25 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
26</#if>
27
28<#assign journalArticleId = .vars['reserved-article-id'].data/>
29<#assign userId =themeDisplay.getUserId()/>
30<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
31
32<#-- Resource type -->
33<#assign resourceType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.microsite") />
34<#assign imgType = "/o/educaixa-theme/images/interaccion-icon.png">
35
36<#-- Escape title text -->
37<#assign titleEscaped = "" />
38<#if titulo.getData()??>
39 <#assign titleEscaped = titulo.getData()?replace('<p>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
44 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
45</#if>
46
47<#assign subtituloEscaped = "" />
48<#if subtitulo.getData()??>
49 <#assign subtituloEscaped = subtitulo.getData() />
50 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
51 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
52</#if>
53
54<#-- get image alt -->
55<#if image_alt?? && image_alt.getData()?? && image_alt.getData() != "">
56 <#assign altImage = image_alt.getData() />
57<#else>
58 <#assign altImage = titleEscaped />
59</#if>
60
61<#-- get image banner -->
62<#if imagenficha ?? && imagenficha.getData() ?? && imagenficha.getData() != "">
63 <#assign imageSrc = imagenficha.getData() />
64<#else>
65 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-recursos.png" />
66</#if>
67
68<#-- get the content categories -->
69<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
70<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
71
72<#assign language = themeDisplay.getLocale()/>
73<#assign nivel_educativo = []>
74<#assign area_conocimiento = []>
75<#assign competencias = []>
76<#assign objectius = []>
77
78<#list asset.getCategories() as cur_category>
79 <#if cur_category.vocabularyId == 10515>
80 <#assign nivel_educativo = nivel_educativo + [cur_category.getTitle(language)]>
81 <#elseif cur_category.vocabularyId == 6>
82 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
83 <#elseif cur_category.vocabularyId == 401>
84 <#assign competencias = competencias + [cur_category.getTitle(language)]>
85 <#elseif cur_category.vocabularyId == 43203>
86 <#assign objectius = objectius + [cur_category.getTitle(language)]>
87 </#if>
88</#list>
89
90<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
91<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
92<#assign categories = thesaurusCategories + tagsCategories />
93
94<#-- Login -->
95<#assign is_signed_in = themeDisplay.isSignedIn()/>
96<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
97<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
98${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
99${loginURL.setWindowState("POP_UP")}
100
101<#if docprincipal.getData()??>
102 <#assign docUrl = docprincipal.getData() />
103
104 <#-- Si la URL viene relativa (sin protocolo/host), le añadimos el portalURL actual -->
105 <#if docUrl?starts_with("/")>
106 <#assign docUrl = themeDisplay.getPortalURL() + docUrl />
107 </#if>
108
109 <#assign siteMeta = UtilsService.getDocumentMetadataInJSON(docUrl, themeDisplay) />
110</#if>
111
112<#-- Banner section-->
113<div class="container vertical image-view">
114 <div class="row">
115 <img src="${imageSrc}" alt="${altImage}" width="900px" height="458px" class="video-player">
116 <div class="box-img col-lg square">
117 <#if resourceType != "">
118 <p class="box-img-pre-rec" >${recurso} - ${resourceType} </p>
119 </#if>
120 <#if titulo?has_content>
121 <h1 class="box-img-title-rec">${titleEscaped}</h1>
122 </#if>
123 <#if subtitulo?has_content>
124 <p class="box-img-sub-title-rec">${subtituloEscaped}</p>
125 </#if>
126 <p class="box-img-categ-rec">
127 <#if categories?has_content>
128 <#list categories as category>
129 <#-- redirects to the results page with the tag-->
130 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
131 </#list>
132 </#if>
133 </p>
134 <hr>
135 <#if siteMeta?? && siteMeta.get(0)?? && siteMeta.get(0).url?? && siteMeta.get(0).url != "">
136 <button class="card-button-purple color-caixa-purple background-white" id="myBtn" onclick="window.open('${siteMeta.get(0).url}', '_blank'); return false;">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.ver")}</button>
137 </#if>
138 <div class="card-actions flex">
139 <div class="statistics">
140 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
141 <path class="circle-bg" d="M18 2.0845
142 a 15.9155 15.9155 0 0 1 0 31.831
143 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
144 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
145 a 15.9155 15.9155 0 0 1 0 31.831
146 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
147 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
148 </svg>
149 </div>
150 <div class="share">
151 <button id="share"></button>
152 <div class="a2a_kit a2a_kit_size_32 a2a_default_style tooltip" data-a2a-title="${titleEscaped}" data-a2a-icon-color="#009AD8">
153 <a class="a2a_button_facebook"></a>
154 <a class="a2a_button_x"></a>
155 <a class="a2a_button_whatsapp"></a>
156 <a class="a2a_button_email"></a>
157 </div>
158 </div>
159 <div class="bookmark">
160 <#if is_signed_in>
161 <#if isUserBookmark>
162 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
163 <#else>
164 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
165 </#if>
166 <#else>
167 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
168 </#if>
169 </div>
170 </div>
171 </div>
172 </div>
173</div>
174
175<#-- Categories section-->
176<div class="container vertical info-view">
177 <div class="row">
178 <#if nivel_educativo?size != 0 >
179 <div class="col-lg col-xs-6 col-sm">
180 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.nivel.educativo")}</h2>
181 <ul>
182 <#list nivel_educativo as item>
183 <li class="marked">${item}</li>
184 </#list>
185 </ul>
186 </div>
187 </#if>
188
189 <#if area_conocimiento?size != 0 >
190 <div class="col-lg col-xs-6 col-sm">
191 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.area.conocimiento")}</h2>
192 <ul>
193 <#list area_conocimiento as item>
194 <li class="marked">${item}</li>
195 </#list>
196 </ul>
197 </div>
198 </#if>
199 <#if area_conocimiento?size != 0 >
200 <div class="col-lg col-xs-6 col-sm">
201 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.competencias")}</h2>
202 <ul>
203 <#list competencias as item>
204 <li class="marked">${item}</li>
205 </#list>
206 </ul>
207 </div>
208 </#if>
209 <#if siteMeta?? && siteMeta.get(0) ?? && siteMeta.get(0).idioma?? && siteMeta.get(0).idioma != "">
210 <div class="col-lg col-xs-6 col-sm">
211 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.idioma")}</h2>
212 <ul>
213 <#assign idioma = siteMeta.get(0).idioma?keep_after('"')?keep_before('"') />
214 <li class="marked">${idioma} </li>
215 </ul>
216 </div>
217 </#if>
218 <#if siteMeta?? && siteMeta.get(0) ?? && siteMeta.get(0).ano?? && siteMeta.get(0).ano != "">
219 <div class="col-lg col-xs-6 col-sm">
220 <h2 class="purple-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.ano")}</h2>
221 <ul>
222 <#assign year = siteMeta.get(0).ano />
223 <li class="marked">${year} </li>
224 </ul>
225 </div>
226 </#if>
227 </div>
228 <hr class="line-12">
229</div>
230
231<#-- Content section-->
232<div class="container vertical info-content">
233 <div class="row">
234 <div class="col-lg-7 col-xs-12">
235 <#if introduccion?has_content>
236 <h2 class="obj-rec-title">
237 <b style="color: #7B2FA1;">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.descripcion")}</b>
238 </h2>
239 <p class="description-text-rec">
240 ${introduccion.getData()}
241 </p>
242 </#if>
243 <#if objetivosdidacticos?? && objetivosdidacticos.getData()?? && objetivosdidacticos.getData() != "">
244 <h2 class="obj-rec-title"><b>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.objetivos")}</b></h2>
245 <div class="description-text-rec" style="margin-top: 4%;">
246 ${objetivosdidacticos.getData()}
247 </div>
248 <#elseif objetivosText?? && objetivosText.getData()?has_content>
249 <h2 class="obj-rec-title">
250 <b>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.objetivos")}</b>
251 </h2>
252 <div class="row">
253 <#list objetivosText.getSiblings() as cur_objetivosText>
254 <#if cur_objetivosText.getData()?has_content && cur_objetivosText.getData()??>
255 <div class="col-md-6 mt-3">
256 <div class="objetivo"><h4>#${cur_objetivosText?index + 1}</h4></div>
257 <div >${cur_objetivosText.getData()}</div>
258 </div>
259 </#if>
260 </#list>
261 </div>
262 </#if>
263 <#if competenceGeneralDescription?? && competenceGeneralDescription.getData()?? && competenceGeneralDescription.getData() != "">
264 <h2 class="obj-rec-title">
265 <b>${competenceGeneralDescription.getData()}</b>
266 </h2>
267 <div class="compet-rec-dropdown">
268 <#--
269 Por ahora no está el campo relleno. HAbilitar cuando se solicite
270 <li class="compet-rec-sub accordion">${competenceGeneralDescription.competenceTitle.getData()}</li>-->
271 <div class="compet-rec-sub-info panel">${competenceGeneralDescription.competenceTitle.competenceDesc.getData()}</div>
272 </div>
273 </#if>
274 <#assign existDownload = false />
275 <#if materialrelacionado.getData()?has_content || linkTxt.getSiblings()?has_content || materialrelacionado.titulomaterial.getSiblings()?has_content >
276 <div class="row">
277 <h2 class="obj-rec-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.materials.and.downloads")}</h2>
278 <#if materialesTexto.getData()?has_content>
279 <div>
280 ${materialesTexto.getData()}
281 </div>
282 </#if>
283 <#if linkTxt.internalLink.getData()?has_content>
284 <#list linkTxt.getSiblings() as linkTxt>
285 <ul>
286 <li class="resource-lis">
287 <#if linkTxt.internalLink.getData()?has_content && is_signed_in>
288 <a href="${linkTxt.internalLink.getData()}">
289 <#elseif linkTxt.externalLink.getData()?has_content && is_signed_in>
290 <a href="${linkTxt.externalLink.getData()}" target="_blank">
291 <#else>
292 <a onClick="openPopup('${loginURL}','','500', '650')">
293 </#if>
294 <span>${linkTxt.getData()}</span>
295 </a>
296 <br>
297 <#assign existDownload = true />
298 </li>
299 </ul>
300 </#list>
301 </#if>
302 <#assign materialDescargable = false />
303 <#if materialrelacionado.getSiblings()?has_content>
304 <ul>
305 <#list materialrelacionado.getSiblings() as material>
306 <#if material.getData()?has_content>
307 <#assign existDownload = true />
308 <#assign materialDescargable = true />
309 <#assign file = dLFileEntryLocalService.getFileEntryByUuidAndGroupId(material.getData()?keep_after_last("/")?keep_before("?"),groupId) />
310 <#if file?? && file != "">
311 <li class="resource-lis">
312 <#if is_signed_in>
313 <#if material.getData()?contains("?t")>
314 <#assign materialUrl = material.getData()[0..(material.getData()?last_index_of("/") - 1)]/>
315 <#else>
316 <#assign materialUrl = material.getData()[0..material.getData()?length]/>
317 </#if>
318 <a href="${material.getData()}" target="_blank" onClick="addGTMEvent('contenido', 'descarga recursos', '${materialUrl}')">
319 <#else>
320 <a onClick="openPopup('${loginURL}','','500', '650')">
321 </#if>
322 <span>${material.titulomaterial.getData()}</span>
323 <span> (${file.getMimeType()?keep_after_last("/")?upper_case} ${file.getSize()[0..(file.getSize()?length - 4)]}Kb)</span>
324 </a>
325 <br>
326 </li>
327 </#if>
328 </#if>
329 </#list>
330 </ul>
331 </#if>
332 </div>
333 <#if descargable.getData()?has_content && materialDescargable>
334 <div class = "row">
335 <#if is_signed_in>
336 <#if descargable.getData()?contains("?t")>
337 <#assign descargableUrl = descargable.getData()[0..(descargable.getData()?last_index_of("/")- 1)]/>
338 <#else>
339 <#assign descargableUrl = descargable.getData()[0..descargable.getData()?length]/>
340 </#if>
341 <p class="center"><a href="${descargable.getData()}" class="link-rec" onClick="addGTMEvent('contenido', 'descarga recursos', '${descargableUrl}')">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.download.all")}</a></p>
342 <#else>
343 <p class="center"><a href="#" onClick="openPopup('${loginURL}','','500', '650')" class="link-rec">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.download.all")}</a></p>
344 </#if>
345 <#assign existDownload = true />
346 </div>
347 </#if>
348 <#if !existDownload>
349 <div>
350 <span>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.download.nocontent")}</span>
351 </div>
352 </#if>
353 </#if>
354 <#if casosuso.getData()?has_content>
355 <h2 class="obj-rec-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.example.use")}</h2>
356 <p class="desc-rec">${casosuso.getData()}</p>
357 </#if>
358 <#if otrainfodidactica.getData()?has_content>
359 <h2 class="obj-rec-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.other.didactic.info")?upper_case}</h2>
360 <p class="desc-rec">${otrainfodidactica.getData()}</p>
361 </#if>
362 </div>
363 <#-- Register content -->
364 <#if journalArticleLocalService.fetchArticle(groupId, "CAPTACION_RECURSO") ??>
365 <#assign register = journalArticleLocalService.getArticle(groupId, "CAPTACION_RECURSO")/>
366 <#if register?? && register != "">
367 <#assign registerContent = journalArticleLocalService.getArticleContent(register, register.DDMTemplateKey, "VIEW", themeDisplay.getLocale(),NULL, themeDisplay) />
368 </#if>
369 <#assign registerContent = journalArticleLocalService.getArticleContent(register, register.DDMTemplateKey, "VIEW", themeDisplay.getLocale(),NULL, themeDisplay) />
370 <div class= "captacion-ficha">
371 ${registerContent}
372 </div>
373 </#if>
374 </div>
375</div>
376<style>
377.objetivo{
378 color: #7B2FA1;
379}
380.contenido-dcha-item > span {
381 width: 100%;
382 height: 1px;
383 display: inline-block;
384}
385.asset-full-content.clearfix.mb-5.default-asset-publisher.no-title > .align-items-center.d-flex.mb-2 {
386 max-width: 1140px;
387 margin: 0 auto;
388 margin-bottom: 0px;
389 margin-top:20px;
390}
391
392p.component-title.h4 span.header-back-to > a.taglib-icon::after {
393 content: "${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.atras")}";
394 color:#009AD8;
395}
396
397
398.asset-full-content.clearfix.mb-5.default-asset-publisher.no-title > .align-items-center.d-flex.mb-2 .lexicon-icon.lexicon-icon-angle-left {
399 fill: #009AD8;
400 width: 15px;
401 height: 15px;
402 margin-right: 10px;
403}
404.container.vertical.image-view.ficha-evidencias .box-img.col-lg.square {
405 box-shadow: 1px 1px 8px #d0d0d0;
406}
407</style>
408<script>
409$( document ).ready(function() {
410 initAddThis();
411 $("span.header-back-to a").attr('onClick','');
412 $("span.header-back-to a").attr("href","/es/landing-recursos");
413 <#if language=='ca_ES'>
414 $("span.header-back-to a").attr("href","/ca/landing-recursos");
415 </#if>
416});
417</script>









