Centro Cultural de Montevideo

Actividades

An error occurred while processing the template.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 53:
Lexical error: encountered "u" (117), after "\"\u00abEl real de San Carlos\\".
---end-message---

The failing expression:
==> imgGS?eval  [in template "20096#20122#7822989" at line 112, column 46]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign imgUuidGS = imgGS?eval.uuid!""  [in template "20096#20122#7822989" at line 112, column 25]
----
1<!-- AECID-CC-Listado-Recomendaciones --> 
2 
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
5<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") /> 
6<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
7<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
8 
9<#assign publicPath = themeDisplay.getPathFriendlyURLPublic() /> 
10<#assign siteFriendlyURL = themeDisplay.getSiteGroup().getFriendlyURL() /> 
11 
12<#-- ID del vocabulario global (cambia esto por el ID real) --> 
13<#assign vocabularyId = 7623391 /> 
14	 
15<style> 
16.lfr-pagination, .taglib-categorization-filter { 
17  max-width: 1260px; 
18  margin: 1.5rem auto; 
19  align-items: center; 
20	display: flex; 
21	padding: 0 1rem; 
22
23 
24.aecid-main .cat-Accesibilidad {background-color: #09861e;} 
25.aecid-main .cat-Artes {background-color: #f5bce9;} 
26.aecid-main .cat-Ciencia {background-color: #034ea2;}   
27.aecid-main .cat-Cine {background-color: #540081;}   
28.aecid-main .cat-Ciudadania {background-color: #33b6ba;}  
29.aecid-main .cat-Cultura {background-color: #7d2721;}  
30.aecid-main .cat-Debate {background-color: #8f98dc;}  
31.aecid-main .cat-Diversidad {background-color: #ca09f1;}  
32.aecid-main .cat-Escenicas {background-color: #f5c109;}  
33.aecid-main .cat-Examenes {background-color: #ec0909;}  
34.aecid-main .cat-Exposiciones {background-color: #000000;}  
35.aecid-main .cat-Formacion {background-color: #e01451;}  
36.aecid-main .cat-Infantil {background-color: #a4cb22;}  
37.aecid-main .cat-Letras {background-color: #f39918;}  
38.aecid-main .cat-Mediacion {background-color: #e5de8a;}  
39.aecid-main .cat-Medioambiente {background-color: #3ec11a;}  
40.aecid-main .cat-Musica {background-color: #4fc0fd;}  
41.aecid-main .cat-Patrimonio {background-color: #d12929;}  
42.aecid-main .cat-Radio {background-color: #f462d4;}  
43 
44@media (min-width: 576px) { 
45	.lfr-pagination, .taglib-categorization-filter { 
46		max-width: 540px; 
47		padding: 0; 
48
49
50@media (min-width: 768px) { 
51	.lfr-pagination, .taglib-categorization-filter { 
52		max-width: 720px; 
53
54
55@media (min-width: 992px) { 
56	.lfr-pagination, .taglib-categorization-filter { 
57		max-width: 960px; 
58
59
60@media (min-width: 1200px) { 
61	.lfr-pagination, .taglib-categorization-filter { 
62		max-width: 1180px; 
63
64
65@media (min-width: 1440px) { 
66	.lfr-pagination, .taglib-categorization-filter { 
67		max-width: 1260px; 
68
69
70@media (min-width: 992px) { 
71	.lfr-pagination .lfr-pagination-buttons { 
72		gap: 1rem; 
73		margin-left: auto; 
74
75
76.taglib-categorization-filter em { 
77		margin-left: 1rem; 
78	}	 
79</style>	 
80 
81<#if entries?has_content> 
82    <div class="fd-gris-fondo py-50 py-lg-100 cont-convo"> 
83        <div class="container px-3 px-lg-0"> 
84            <div class="content-cards cols-items-4"> 
85                <#-- Iterar sobre los contenidos obtenidos en la ADT --> 
86                <#list entries as curEntry> 
87                    <#assign 
88                        curEntry = curEntry 
89                        renderer = curEntry.getAssetRenderer() 
90                        entryTitle = htmlUtil.escape(renderer.getTitle(locale)) 
91                        viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, renderer, curEntry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))/> 
92           			<#assign journalArticle = renderer.getArticle()/> 
93        			<#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale.toString())) /> 
94		        	<#assign entryTitle = htmlUtil.escape(renderer.getTitle(locale))/> 
95			        <#assign entryResumen = htmlUtil.escape(renderer.getSummary())/>   
96 
97                    <#assign fechaIni=document.valueOf("//dynamic-element[@field-reference='startDate']/dynamic-content/text()") /> 
98                    <#assign fechaFin=document.valueOf("//dynamic-element[@field-reference='endDate']/dynamic-content/text()") /> 
99 
100                    <#assign imgGS=document.valueOf("//dynamic-element[@field-reference='image']/dynamic-content/text()") /> 
101                    <#assign imgUuidGS = "" /> 
102                    <#assign imgNameGS = "" /> 
103                    <#assign imgGroupIdGS = "" /> 
104                    <#assign imgAltGS = "" />									 
105									 
106                    <#assign imgGS = imgGS?replace("\\u2019", "") /> 
107                    <#assign imgGS = imgGS?replace("\\u00e7", "") /> 
108                    <#assign imgGS = imgGS?replace("\\u00b7", "") /> 
109                    <#assign imgGS = imgGS?replace("\\u2013", "-") />									 
110									 
111                    <#if imgGS?? && imgGS != "" && imgGS?trim != "{}"> 
112                        <#assign imgUuidGS = imgGS?eval.uuid!"" /> 
113                    </#if>				 
114                    <#if imgUuidGS?has_content> 
115                        <#assign imgNameGS = imgGS?eval.title /> 
116                        <#assign imgGroupIdGS = imgGS?eval.groupId /> 
117                        <#assign imgAltGS = imgGS?eval.alt/> 
118 
119                        <#assign imgAltGS = imgAltGS?replace('"', "'")> 
120                        <#assign imgAltGS = imgAltGS?replace('/', "-")> 
121                        <#assign imgAltGS = imgAltGS?replace('<', " ")> 
122                        <#assign imgAltGS = imgAltGS?replace('>', " ")> 
123                        <#assign imgAltGS = imgAltGS?replace('&', " ")> 
124                    </#if>                     
125 
126                    <#assign classPK = curEntry.getClassPK() /> 
127                    <#assign assetEntry = assetEntryLocalService.fetchEntry(entry.getClassName(), classPK) /> 
128                    <div class="cardReco h-auto"> 
129                        <div class="h-100 d-flex flex-column justify-content-between">  
130                            <div class="asset-abstract">                                                                
131                                <div class="lfr-meta-actions asset-actions"> 
132                                    <@getEditIcon /> 
133                                </div>                                                                                       
134                            </div> 
135 
136                            <div class="d-flex flex-column h-100 gap-1r position-relative"> 
137                                <div class="p-0"> 
138                                    <#if imgUuidGS?has_content> 
139                                        <div class="card-reco-img-container"> 
140                                            <img class="w-100"  alt="${imgAltGS}"  src="/documents/${imgGroupIdGS}/0/${imgNameGS}/${imgUuidGS}" /> 
141                                        </div> 
142                                    <#else> 
143                                        <div class="card-reco-img-container"> 
144                                            <!--<img class="w-100" alt="imagen de la noticia" src="${themeDisplay.getPathThemeImages()}/icons/svg/default_image.svg" />--> 
145											<img class="w-100" alt="Imagen de AECID" src="/documents/d/${themeDisplay.getScopeGroup().getFriendlyURL()}/generica" /> 
146                                        </div> 
147                                    </#if> 
148                                </div> 
149 
150                                <!--<p class="mb-0 txt-h6 txt-lg-h5 mt-4" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.la.noticia")}: </span>${dateUtil.getDate(journalArticle.getDisplayDate(), "dd/MM", locale)}</p>--> 
151 
152                                <div class="fecha-rango"> 
153                                    <#if fechaIni?has_content> 
154                                        <#assign startDate_Data = getterUtil.getString(fechaIni)> 
155                                        <#assign endDate_Data = getterUtil.getString(fechaFin)> 
156                                        <#if startDate_Data?? && endDate_Data??> 
157                                            <#assign startDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", startDate_Data, locale)> 
158                                            <#assign endDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", endDate_Data, locale)> 
159                                            <#if startDate_Data == endDate_Data> 
160                                                ${dateUtil.getDate(startDate_DateObj, "dd MMMM yyyy", locale)} 
161                                            <#else> 
162                                                Desde ${dateUtil.getDate(startDate_DateObj, "dd MMMM yyyy", locale)} hasta ${dateUtil.getDate(endDate_DateObj, "dd MMMM yyyy", locale)} 
163                                            </#if> 
164                                        </#if> 
165                                    </#if> 
166                                </div> 
167 
168                                <div class="card-text-cont"> 
169                                    <a class="title elipsis-3 enlace-total" href="${viewURL}" title="Ir a la recomendacion ${entryTitle}">${entryTitle}</a> 
170                                </div> 
171                            </div> 
172                                <div class="d-flex gap-1r flex-wrap mt-3"> 
173                                    <#if assetEntry??> 
174                                        <#assign categoryIds = assetEntry.getCategoryIds() /> 
175 
176                                        <#-- Filtrar categorías que pertenezcan al vocabulario global --> 
177                                        <#assign categories = [] /> 
178                                        <#list categoryIds as categoryId> 
179                                            <#assign category = assetCategoryLocalService.fetchAssetCategory(categoryId) /> 
180                                            <#if category?? && category.getVocabularyId() == vocabularyId> 
181                                                <#assign categories += [category] /> 
182                                            </#if> 
183                                        </#list> 
184 
185                                        <#if categories?has_content> 
186                                            <#list categories as category> 
187 
188                                                <#assign cat = category.getName() /> 
189                                                <#assign portalURL = themeDisplay.portalURL> 
190                                                <#assign currentPageName = themeDisplay.layout.name> 
191 
192                                                <!--<#assign siteName = themeDisplay.siteGroupName> 
193                                                <#assign siteName = siteName?replace(" ", "")> 
194                                                <#assign siteName = siteName?lower_case>--> 
195                                                <#assign siteFriendlyURL = themeDisplay.getScopeGroup().getFriendlyURL()> 
196                                                <#-- Esto devuelve algo como "/site-name" --> 
197                                                <#assign siteName = siteFriendlyURL?substring(1)> 
198                                                <!--<p>Site name: ${siteName}</p>--> 
199 
200                                                <#assign URLCategoria = portalURL + "/web/" + siteName + "/detalle-categorias/-/categories/" + category.getCategoryId()> 
201 
202                                                <#switch cat> 
203                                                    <#case "Accesibilidad / Inclusión"> 
204                                                        <a class="cat-reco cat-Accesibilidad" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a> 
205                                                    <#break> 
206                                                    <#case "Artes Visuales"> 
207                                                        <a class="cat-reco cat-Artes" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a> 
208                                                    <#break> 
209                                                    <#case "Ciencia / Tecnología"> 
210                                                        <a class="cat-reco cat-Ciencia" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
211                                                    <#break> 
212                                                    <#case "Cine / Audiovisual"> 
213                                                        <a class="cat-reco cat-Cine" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a> 
214                                                    <#break> 
215                                                    <#case "Ciudadanía / Comunidad"> 
216                                                        <a class="cat-reco cat-Ciudadania" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	    
217                                                    <#break> 
218                                                    <#case "Cultura para el Desarrollo"> 
219                                                        <a class="cat-reco cat-Cultura" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
220                                                    <#break>        
221                                                    <#case "Debate / Pensamiento"> 
222                                                        <a class="cat-reco cat-Debate" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
223                                                    <#break>    
224                                                    <#case "Diversidad / Géneros"> 
225                                                        <a class="cat-reco cat-Diversidad" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
226                                                    <#break> 
227                                                    <#case "Escénicas"> 
228                                                        <a class="cat-reco cat-Escenicas" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
229                                                    <#break> 
230                                                    <#case "Exámenes de español"> 
231                                                        <a class="cat-reco cat-Examenes" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
232                                                    <#break> 
233                                                    <#case "Exposiciones"> 
234                                                        <a class="cat-reco cat-Exposiciones" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
235                                                    <#break> 
236                                                    <#case "Formación"> 
237                                                        <a class="cat-reco cat-Formacion" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
238                                                    <#break> 
239                                                    <#case "Infantil / Juvenil"> 
240                                                        <a class="cat-reco cat-Infantil" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
241                                                    <#break> 
242                                                    <#case "Letras"> 
243                                                        <a class="cat-reco cat-Letras" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
244                                                    <#break> 
245                                                    <#case "Mediación"> 
246                                                        <a class="cat-reco cat-Mediacion" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
247                                                    <#break> 
248                                                    <#case "Medioambiente / Sostenibilidad"> 
249                                                        <a class="cat-reco cat-Medioambiente" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
250                                                    <#break> 
251                                                    <#case "Música / Sonido"> 
252                                                        <a class="cat-reco cat-Musica" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
253                                                    <#break> 
254                                                    <#case "Patrimonio"> 
255                                                        <a class="cat-reco cat-Patrimonio" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
256                                                    <#break> 
257                                                    <#case "Radio / Pódcast"> 
258                                                        <a class="cat-reco cat-Radio" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
259                                                    <#break> 
260 
261                                                    <#default> 
262                                                        <a class="cat-reco cat-neg" href="${URLCategoria}" title="Filtar Por ${cat}">${cat}</a>	 
263                                                    <#break>      
264                                                </#switch> 
265 
266                                                <!--<li>${category.getName()} (ID: ${category.getCategoryId()})</li>--> 
267                                            </#list> 
268                                        </#if> 
269                                    </#if> 
270                                </div> 
271                        </div> 
272                    </div>                 
273                </#list> 
274            </div> 
275        </div> 
276    </div> 
277</#if> 
278 
279<#-- CARGA DE LA EDICIÓN EN VENTANA A PARTE --> 
280<#macro getEditIcon> 
281    <#if renderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
282        <#assign editPortletURL = renderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" /> 
283        <#if validator.isNotNull(editPortletURL)> 
284            <#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) /> 
285            <@liferay_ui["icon"] 
286                cssClass="icon-monospaced visible-interaction text-left" 
287                icon="pencil" 
288                markupView="lexicon" 
289                message=title 
290                url=editPortletURL.toString() 
291            /> 
292        </#if> 
293    </#if> 
294</#macro> 
295 
296<#macro getFullContent> 
297    <#assign pagina = renderer.render(renderRequest, renderResponse, "full_content") /> 
298	<@liferay_util["include"] 
299		page="${pagina}" 
300	/> 
301</#macro> 

Servicios

Espacio Colab

pasa

Espacio Colab

abre en la misma ventana Espacio Colab

Mediateca

pasa

Mediateca

abre en la misma ventana Mediateca

Cooperación Institucional

pasa

Cooperación Institucional

abre en la misma ventana Cooperación Institucional

Visitas guiadas y Cuentacuentos

pasa

Visitas guiadas y Cuentacuentos

abre en la misma ventana Visitas guiadas y Cuentacuentos