CENTROS DE LA OBRA SOCIAL 'LA CAIXA'

Busca tu actividad en los centros CaixaForum y CosmoCaixa.
Mapa centros

Nuestros centros CaixaForum y CosmoCaixa por todo el estado

Complementa el contenido de tus clases con nuestra oferta de exposiciones, conciertos y talleres fuera del aula.


Se ha producido un error al procesar la plantilla.
Java method "com.liferay.portal.xml.NodeImpl.valueOf(String)" threw an exception when invoked on com.liferay.portal.xml.DocumentImpl object "org.dom4j.tree.DefaultDocument@5cc31eb6 [Document: name null]"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign bannerImageAlt = document.val...  [in template "10154#10192#21208204" at line 39, column 41]
----
1<#-- Servicios --> 
2<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/> 
3<#assign EduCaixaUtilsService = serviceLocator.findService("com.educaixa.utils.service.EduCaixaUtilsService")/> 
4<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") /> 
5<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
6 
7<#-- Variables --> 
8<#assign language = themeDisplay.getLocale()/> 
9<#assign groupId = themeDisplay.getScopeGroupId()/> 
10<#assign userId =themeDisplay.getUserId()/> 
11<#assign is_signed_in = themeDisplay.isSignedIn()/> 
12<#assign theme_color = themeDisplay.getColorSchemeId()/> 
13<#assign currentURL = themeDisplay.getURLCurrent()/> 
14<#assign companyId =themeDisplay.getCompanyId()/> 
15 
16<#assign httpServletRequest = serviceContext.getRequest() /> 
17<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") /> 
18<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") /> 
19${loginURL.setParameter("mvcPath", "/login.jsp")} 
20${loginURL.setWindowState("POP_UP")} 
21 
22<#if entries?has_content> 
23 
24	<div class="body-content container container-tarjetas padding-ver-50 max-width-none margin-bottom-60 margin-top-60">	 
25	    <div class="grid-centros"> 
26		<#list entries as curEntry> 
27			<#assign renderer = curEntry.getAssetRenderer()> 
28			<#assign className = renderer.getClassName()> 
29			<#if (className == "com.liferay.journal.model.JournalArticle")> 
30				<#assign journalArticle = renderer.getArticle() /> 
31				<#assign journalArticleId = journalArticle.getArticleId() /> 
32				<#assign jaUrlTitle = journalArticle.getUrlTitle() /> 
33				<#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) /> 
34				<#assign nombre = document.valueOf("//dynamic-element[@name='nombre']/dynamic-content/text()") /> 
35				<#assign subtitle = document.valueOf("//dynamic-element[@name='subtitle']/dynamic-content/text()") /> 
36				<#assign bannerImage = document.valueOf("//dynamic-element[@name='bannerImage']/dynamic-content/text()") /> 
37				<#assign introContent = document.valueOf("//dynamic-element[@name='introTitle']/dynamic-element[@name='introContent']//dynamic-content/text()") /> 
38                <#if bannerImage?has_content > 
39					<#assign bannerImageAlt = document.valueOf("//dynamic-element[@name='bannerImage']/dynamic-content/@alt)") /> 
40					<#if !bannerImageAlt?? || bannerImageAlt == "" > 
41						<#assign bannerImageAlt = nombre /> 
42					</#if> 
43				</#if> 
44                 
45                <#assign total_act = EduCaixaUtilsService.getActivitiesRelatedToCenter(themeDisplay, curEntry.getClassPK(), groupId, companyId, locale)/> 
46                <#assign card_url = "https://${request.serverName}/-/${jaUrlTitle}" /> 
47                 
48	            <div class="tarjeta educaixa grid-row-2 tarjeta-centro" data-url-copy="${card_url}"> 
49	                <input type="hidden" class="redirectTo" value="${card_url}"> 
50					<#if validator.isNotNull(bannerImage) && bannerImage != ""> 
51						<div class="imagen"> 
52							<img src="${bannerImage}" alt="${bannerImageAlt}"/> 
53						</div> 
54					</#if>	 
55	                <div class="header"> 
56	                    <h3 class="titulo" data-title="${nombre}">${nombre}</h3> 
57	                    <span class="subtitulo" data-subtitle="${subtitle}">${subtitle}</span> 
58	                </div> 
59	                <div class="cuerpo"> 
60	    			    <p class="sub-text14">${introContent?replace('<[^>]+>','','r')}</p> 
61	                </div> 
62	                <div class="footer"> 
63	                    <img class="actv-img" src="https://${request.serverName}/o/edu-caixa-theme/images/CONTENT_24/svg/actividad_00_educaixa.svg" alt="Actividad"/> 
64	                    <span href="#" class="actv-12 uppercase" tabindex="0">${total_act} ${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.activities")}</span> 
65	                    <a class="compartir share-option"><img src="/o/edu-caixa-theme/images/ui_24/svg/share.svg" alt="Share"></a> 
66						<div class="share hide"> 
67							<span class="modal-close"></span> 
68							<p class="negro bold">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.share")}</p> 
69							<p class="margin-bottom-20">${nombre}</p> 
70							<div class="share-content"></div> 
71						</div> 
72						 
73						<#-- BOOKMARK --> 
74						<#-- Centros no se guardan! --> 
75						<#-- 
76						<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(companyId,userId,journalArticleId,groupId)/> 
77						<#if is_signed_in> 
78							<#if isUserBookmark> 
79								<a onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></a>  
80							<#else> 
81								<a onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></a> 
82							</#if> 
83						<#else> 
84							<a onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')" class="bookmark"></a> 
85						</#if>	 
86						--> 
87	                </div>                     
88	            </div> 
89	                 
90			</#if> 
91		</#list> 
92		</div> 
93	</div> 
94	 
95	<#-- Modal confirmacion eliminar--> 
96    <div id="modal-confirm-delete" class="close-modal hide"> 
97        <span class="modal-close" onclick="javascript:closeModal();"></span> 
98    	<input type="hidden" class="titulo-confirmacion" value="${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.are.you.sure.to.delete")} "> 
99		<#--El titulo y los datos del boton eliminar se rellenan por js --> 
100		<p class="h3-copycat center uppercase"></h3>	 
101    	<p class=" button-wrapper center"> 
102            <a onClick="closeModal();" class="cancel uppercase boton width-150 margin-top-20 boton-blanco medium margin-bottom-10"> 
103            	${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.no.cancel")} 
104            </a> 
105            <a data-articleid="" class="delete uppercase boton width-150 margin-top-20 boton-educaixa medium margin-bottom-10"> 
106            	${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.yes.delete")} 
107            </a> 
108    	</p> 
109    </div> 
110	 
111</#if> 
112 
113 
114<script> 
115    $(document).ready(function(){ 
116        $('.tarjeta-centro').on('click', function(){ 
117            var url = $(this).find('.redirectTo').val(); 
118            window.location.replace(url); 
119        }); 
120    }); 
121</script>