search-filter

Últimas novas

26/02/2024

Concejales de Cereté visitaron instalaciones de Aqualia

En una visita reciente a la empresa operadora del servicio de agua, Aqualia, los concejales de municipio de Cereté tuvieron la oportunidad de conocer de primera mano los procesos involucrados en el tratamiento y bombeo del vital líquido hacia los 12 municipios donde opera, incluyendo Cereté.

La compañia, expresó a los c...

  • general
22/02/2024

Aqualia lidera el Proyecto MIG en Los Cabos: OOMSAPAS, FONADIN y el ayuntamiento de Los Cabos, dan banderazo de inicio de operaciones

Aqualia, el Ayuntamiento de Los Cabos y el Organismo Operador Municipal del Sistema de Agua Potable (OOMSAPAS) de la localidad, presentan el Proyecto de Mejora Integral de Gestión (MIG) mediante el banderazo de inicio para la sustitución de 1,000 tomas domiciliarias en la colonia Miramar, sector 33.

  • general
Produciuse un erro ao procesar o modelo.
The following has evaluated to null or missing:
==> art  [in template "12187455#12187494#23407" at line 87, column 21]

----
Tip: If the failing expression is known to 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 urlTitle = art.getUrlTitle(lo...  [in template "12187455#12187494#23407" at line 87, column 1]
----
1<#assign HtmlParserUtil = staticUtil["com.liferay.portal.kernel.util.HtmlParserUtil"] /> 
2<#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") /> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
5<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") /> 
6<#assign friendlyUrlEntryService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") /> 
7<#assign classnameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle") /> 
8 
9<#assign publicURL = themeDisplay.getPathFriendlyURLPublic() /> 
10<#assign customImage = true /> 
11 
12<#attempt> 
13	<#assign fileUrl = Imagen_destacadaFieldSet.Imagen_destacada.getData()?split("?")[0] /> 
14	<#assign urlParts = fileUrl?split("/") /> 
15	<#assign uuid = urlParts[urlParts?size - 1] /> 
16	<#assign groupIdImg = themeDisplay.getScopeGroupId() /> 
17	<#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")/> 
18	<#assign fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupIdImg) /> 
19	<#assign fileEntryId = fileEntry.getFileEntryId() /> 
20	<#assign nombreArchivo = fileEntry.getFileName() /> 
21	<#recover> 
22	<#assign customImage = false /> 
23</#attempt> 
24 
25<#assign diaCambio = 7 /> 
26<#assign mesCambio = 2 /> 
27<#assign anoCambio = 2018 /> 
28<#assign longGroupId = getterUtil.getLong(groupId) /> 
29<#assign id = .vars["reserved-article-id"].data /> 
30 
31<#attempt> 
32	<#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) /> 
33	<#assign articleResourcePK = articleResource.getResourcePrimKey() /> 
34	<#assign art = journalArticleLocalService.getLatestArticle(articleResourcePK) /> 
35	<#assign diaNoti = art.getDisplayDate()?string("dd") /> 
36	<#assign mesNoti = art.getDisplayDate()?string("MM") /> 
37	<#assign anoNoti = art.getDisplayDate()?string("yyyy") /> 
38	<#recover> 
39	<#assign rawDate = .vars["reserved-article-create-date"].data> 
40	<#assign parts = rawDate?split(" ")> 
41	<#assign day = parts[1]> 
42	<#assign monthStr = parts[2]?lower_case> 
43	<#assign year = parts[3]> 
44	<#-- Mapa para meses en minúsculas --> 
45	<#assign months = { 
46		"jan":"01", "feb":"02", "mar":"03", "apr":"04", 
47		"may":"05", "jun":"06", "jul":"07", "aug":"08", 
48		"sep":"09", "oct":"10", "nov":"11", "dec":"12" 
49	} /> 
50	<#assign month = months[monthStr]> 
51	<#assign diaNoti = day /> 
52	<#assign mesNoti = month /> 
53	<#assign anoNoti = year /> 
54</#attempt> 
55 
56<#assign Integer = 0 /> 
57 
58<#if anoCambio gt anoNoti?number > 
59	<#assign miniatura = false /> 
60<#else>  
61	<#if anoCambio == anoNoti?number> 
62		<#if mesCambio gt mesNoti?number> 
63			<#assign miniatura = false /> 
64		<#else>  
65			<#if mesCambio == mesNoti?number> 
66				<#if diaCambio gt diaNoti?number> 
67					<#assign miniatura = false /> 
68				<#else>  
69					<#assign miniatura = true /> 
70				</#if> 
71			<#else>  
72				<#assign miniatura = true /> 
73			</#if> 
74		</#if> 
75	<#else>  
76		<#assign miniatura = true /> 
77	</#if> 
78</#if> 
79 
80<#attempt> 
81	<#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) /> 
82	<#assign articleResourcePK = articleResource.getResourcePrimKey() /> 
83	<#assign articleCategories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", articleResourcePK) /> 
84	<#recover> 
85</#attempt> 
86 
87<#assign urlTitle = art.getUrlTitle(locale) /> 
88 
89<#if !urlTitle?has_content> 
90	<#attempt> 
91		<#assign entries = friendlyUrlEntryService.getFriendlyURLEntries(longGroupId,classnameId,articleResourcePK) /> 
92		<#list entries as entry> 
93			<#assign entryLocalization = friendlyUrlEntryService.getFriendlyURLEntry(entry.friendlyURLEntryId) /> 
94			<#assign urlTitle = entryLocalization.urlTitle /> 
95		</#list> 
96		<#recover> 
97	</#attempt> 
98</#if> 
99 
100 
101<#attempt> 
102	<#assign contentSiteId = articleResource.getGroupId() /> 
103	<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
104	<#assign site = groupLocalService.getGroup(contentSiteId) /> 
105	<#assign siteFURL = site.getFriendlyURL() /> 
106	<#recover> 
107	<#assign site = "" /> 
108	<#assign siteFURL = themeDisplay.getScopeGroup().getFriendlyURL()  /> 
109</#attempt> 
110 
111<div class="detail"> 
112	<#if Imagen_destacadaFieldSet.Imagen_destacada.getData()?has_content> 
113		<div class="imagen_detail">  
114			<#if Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt??> 
115				<#assign alt_dest = Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt.getData() /> 
116			<#else> 
117				<#assign alt_dest = ""/> 
118			</#if> 
119			<#if alt_dest?has_content> 
120				<#assign titulo = txt_titulo.getData()?replace("\""," ") /> 
121				<#if alt_dest?lower_case == "#empty"?lower_case> 
122					<#assign alt_dest = "" /> 
123				<#else>  
124					<#assign alt_dest = alt_dest?replace("\""," ") /> 
125				</#if> 
126				<#if miniatura > 
127					<#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> --> 
128					<#if customImage> 
129						<img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" /> 
130					<#else> 
131						<img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
132					</#if> 
133				<#else>  
134					<img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
135				</#if> 
136			<#else>  
137				<#assign titulo = txt_titulo.getData()?replace("\""," ") /> 
138				<#assign alt_dest = "" /> 
139				<#if miniatura > 
140					<#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> --> 
141					<#if customImage> 
142						<img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" /> 
143					<#else> 
144						<img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
145					</#if> 
146				<#else>  
147					<img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
148				</#if> 
149			</#if> 
150		</div> 
151	</#if> 
152</div> 
153 
154<div class="data"> 
155	<#if txt_titulo.getData()?has_content> 
156		<span class="date 1${locale} 2${locale.toString()} 3${localeUtil.getDefault()}">${diaNoti}/${mesNoti}/${anoNoti}</span> 
157		<h3> 
158			<#assign title= txt_titulo.getData() /> 
159			<#assign titleaccesible = "" /> 
160			<#assign title = title?replace("\""," ") /> 
161			<#if locale == "es_ES" > 
162				<#assign titleaccesible = title+" (Se abre en nueva ventana)" /> 
163			</#if> 
164			<#if locale == "en_US"> 
165				<#assign titleaccesible = title+" (Opens in new window)" /> 
166			</#if> 
167			<#if locale == "pt_PT"> 
168				<#assign titleaccesible = title+" (Abre em nova janela)" /> 
169			</#if> 
170			<#if locale == "gl_ES"> 
171				<#assign titleaccesible = title+" (Ábrese nunha ventá nova)" /> 
172			</#if> 
173			<#if locale == "ca_ES"> 
174				<#assign titleaccesible = title+" (S'obre en una finestra)" /> 
175			</#if> 
176			<#if locale == "fr_FR"> 
177				<#assign titleaccesible = title+" (Ouvre dans une nouvelle fenêtre)" /> 
178			</#if> 
179			<#if titleaccesible == ""> 
180				<#if urlTitle?has_content && urlTitle != ""> 
181					<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
182						${txt_titulo.getData()} 
183					</a> 
184				<#else>  
185					<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
186						${txt_titulo.getData()} 
187					</a> 
188				</#if> 
189			<#else>  
190				<#if urlTitle?has_content && urlTitle != ""> 
191					<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
192						${txt_titulo.getData()} 
193					</a> 
194				<#else>  
195					<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
196						${txt_titulo.getData()} 
197					</a> 
198				</#if> 
199			</#if> 
200		</h3> 
201	</#if> 
202	<#if urlTitle?has_content && urlTitle != "" > 
203		<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a> 
204	<#else> 
205		<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a> 
206	</#if> 
207	<div class="text d-sm-none d-md-block"> 
208		<#if txt_entradilla.getData()?has_content>	 
209			<#assign txt_paragraphsEntra =[] /> 
210			<#assign txt_paragraphsEntra = txt_entradilla.getData()?split('</p>') /> 
211			<#assign pbodyEntra ='' /> 
212			<#assign cantidadEntra =320 /> 
213			<#list txt_paragraphsEntra as paragraphEntra > 
214				<#assign textoEntra = paragraphEntra /> 
215				<#assign textoEntra = HtmlParserUtil.extractText(textoEntra) /> 
216				<#if textoEntra?length gt cantidadEntra > 
217					<#assign pbodyEntra = pbodyEntra +'<p>'+ textoEntra?substring(0,cantidadEntra)+ ('...')+'</p>' /> 
218						<#break> 
219					<#else> 
220						<#assign pbodyEntra =pbodyEntra + '<p>'+ textoEntra + '</p>' /> 
221						<#assign cantidadEntra = cantidadEntra - (textoEntra?length) /> 
222					</#if> 
223				</#list> 
224				<#if txt_titulo.getData()?has_content> 
225					${pbodyEntra} 
226				</#if> 
227			<#else> 
228				<#assign txt_paragraphs =[] /> 
229				<#assign txt_paragraphs = txt_cuerpo.getData()?split('</p>') /> 
230				<#assign pbody ='' /> 
231				<#assign cantidad=320 /> 
232				<#list txt_paragraphs as paragraph> 
233					<#assign texto = paragraph /> 
234					<#assign texto = HtmlParserUtil.extractText(texto) /> 
235					<#if texto?length gt cantidad > 
236						<#assign pbody = pbody +'<p>'+ texto?substring(0,cantidad)+ ('...')+'</p>' /> 
237						<#break> 
238					<#else>  
239						<#assign pbody =pbody + '<p>'+ texto + '</p>' /> 
240						<#assign cantidad = cantidad - texto?length /> 
241					</#if> 
242				</#list> 
243				<#if txt_titulo.getData()?has_content> 
244					${pbody} 
245				</#if> 
246			</#if> 
247		</div> 
248</div> 
249<#assign instanceId =  layout.getLayoutType().getPortletIds() /> 
250<div class="tags"> 
251	<#if articleCategories?? && articleCategories?has_content> 
252		<ul> 
253			<#list articleCategories as category > 
254				<li class='fcc-label'> 
255					<#assign categoryId = category.getCategoryId() /> 
256					<#assign title = category.getTitle(locale) /> 
257					<span title="${title}">${title}</span> 
258				</li> 
259			</#list> 
260		</ul> 
261	</#if> 
262</div> 
263<script> 
264	function setCookie(articleId, groupId, exdays) { 
265		var d = new Date(); 
266		d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
267		var expires = "expires="+ d.toUTCString(); 
268		document.cookie = "tArticleId=" + articleId + ";" + expires + ";path=/"; 
269		document.cookie = "tGroupId=" + groupId + ";" + expires + ";path=/"; 
270
271</script> 
Produciuse un erro ao procesar o modelo.
The following has evaluated to null or missing:
==> art  [in template "12187455#12187494#23407" at line 87, column 21]

----
Tip: If the failing expression is known to 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 urlTitle = art.getUrlTitle(lo...  [in template "12187455#12187494#23407" at line 87, column 1]
----
1<#assign HtmlParserUtil = staticUtil["com.liferay.portal.kernel.util.HtmlParserUtil"] /> 
2<#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") /> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
5<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") /> 
6<#assign friendlyUrlEntryService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") /> 
7<#assign classnameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle") /> 
8 
9<#assign publicURL = themeDisplay.getPathFriendlyURLPublic() /> 
10<#assign customImage = true /> 
11 
12<#attempt> 
13	<#assign fileUrl = Imagen_destacadaFieldSet.Imagen_destacada.getData()?split("?")[0] /> 
14	<#assign urlParts = fileUrl?split("/") /> 
15	<#assign uuid = urlParts[urlParts?size - 1] /> 
16	<#assign groupIdImg = themeDisplay.getScopeGroupId() /> 
17	<#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")/> 
18	<#assign fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupIdImg) /> 
19	<#assign fileEntryId = fileEntry.getFileEntryId() /> 
20	<#assign nombreArchivo = fileEntry.getFileName() /> 
21	<#recover> 
22	<#assign customImage = false /> 
23</#attempt> 
24 
25<#assign diaCambio = 7 /> 
26<#assign mesCambio = 2 /> 
27<#assign anoCambio = 2018 /> 
28<#assign longGroupId = getterUtil.getLong(groupId) /> 
29<#assign id = .vars["reserved-article-id"].data /> 
30 
31<#attempt> 
32	<#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) /> 
33	<#assign articleResourcePK = articleResource.getResourcePrimKey() /> 
34	<#assign art = journalArticleLocalService.getLatestArticle(articleResourcePK) /> 
35	<#assign diaNoti = art.getDisplayDate()?string("dd") /> 
36	<#assign mesNoti = art.getDisplayDate()?string("MM") /> 
37	<#assign anoNoti = art.getDisplayDate()?string("yyyy") /> 
38	<#recover> 
39	<#assign rawDate = .vars["reserved-article-create-date"].data> 
40	<#assign parts = rawDate?split(" ")> 
41	<#assign day = parts[1]> 
42	<#assign monthStr = parts[2]?lower_case> 
43	<#assign year = parts[3]> 
44	<#-- Mapa para meses en minúsculas --> 
45	<#assign months = { 
46		"jan":"01", "feb":"02", "mar":"03", "apr":"04", 
47		"may":"05", "jun":"06", "jul":"07", "aug":"08", 
48		"sep":"09", "oct":"10", "nov":"11", "dec":"12" 
49	} /> 
50	<#assign month = months[monthStr]> 
51	<#assign diaNoti = day /> 
52	<#assign mesNoti = month /> 
53	<#assign anoNoti = year /> 
54</#attempt> 
55 
56<#assign Integer = 0 /> 
57 
58<#if anoCambio gt anoNoti?number > 
59	<#assign miniatura = false /> 
60<#else>  
61	<#if anoCambio == anoNoti?number> 
62		<#if mesCambio gt mesNoti?number> 
63			<#assign miniatura = false /> 
64		<#else>  
65			<#if mesCambio == mesNoti?number> 
66				<#if diaCambio gt diaNoti?number> 
67					<#assign miniatura = false /> 
68				<#else>  
69					<#assign miniatura = true /> 
70				</#if> 
71			<#else>  
72				<#assign miniatura = true /> 
73			</#if> 
74		</#if> 
75	<#else>  
76		<#assign miniatura = true /> 
77	</#if> 
78</#if> 
79 
80<#attempt> 
81	<#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) /> 
82	<#assign articleResourcePK = articleResource.getResourcePrimKey() /> 
83	<#assign articleCategories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", articleResourcePK) /> 
84	<#recover> 
85</#attempt> 
86 
87<#assign urlTitle = art.getUrlTitle(locale) /> 
88 
89<#if !urlTitle?has_content> 
90	<#attempt> 
91		<#assign entries = friendlyUrlEntryService.getFriendlyURLEntries(longGroupId,classnameId,articleResourcePK) /> 
92		<#list entries as entry> 
93			<#assign entryLocalization = friendlyUrlEntryService.getFriendlyURLEntry(entry.friendlyURLEntryId) /> 
94			<#assign urlTitle = entryLocalization.urlTitle /> 
95		</#list> 
96		<#recover> 
97	</#attempt> 
98</#if> 
99 
100 
101<#attempt> 
102	<#assign contentSiteId = articleResource.getGroupId() /> 
103	<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
104	<#assign site = groupLocalService.getGroup(contentSiteId) /> 
105	<#assign siteFURL = site.getFriendlyURL() /> 
106	<#recover> 
107	<#assign site = "" /> 
108	<#assign siteFURL = themeDisplay.getScopeGroup().getFriendlyURL()  /> 
109</#attempt> 
110 
111<div class="detail"> 
112	<#if Imagen_destacadaFieldSet.Imagen_destacada.getData()?has_content> 
113		<div class="imagen_detail">  
114			<#if Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt??> 
115				<#assign alt_dest = Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt.getData() /> 
116			<#else> 
117				<#assign alt_dest = ""/> 
118			</#if> 
119			<#if alt_dest?has_content> 
120				<#assign titulo = txt_titulo.getData()?replace("\""," ") /> 
121				<#if alt_dest?lower_case == "#empty"?lower_case> 
122					<#assign alt_dest = "" /> 
123				<#else>  
124					<#assign alt_dest = alt_dest?replace("\""," ") /> 
125				</#if> 
126				<#if miniatura > 
127					<#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> --> 
128					<#if customImage> 
129						<img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" /> 
130					<#else> 
131						<img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
132					</#if> 
133				<#else>  
134					<img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
135				</#if> 
136			<#else>  
137				<#assign titulo = txt_titulo.getData()?replace("\""," ") /> 
138				<#assign alt_dest = "" /> 
139				<#if miniatura > 
140					<#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> --> 
141					<#if customImage> 
142						<img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" /> 
143					<#else> 
144						<img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
145					</#if> 
146				<#else>  
147					<img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
148				</#if> 
149			</#if> 
150		</div> 
151	</#if> 
152</div> 
153 
154<div class="data"> 
155	<#if txt_titulo.getData()?has_content> 
156		<span class="date 1${locale} 2${locale.toString()} 3${localeUtil.getDefault()}">${diaNoti}/${mesNoti}/${anoNoti}</span> 
157		<h3> 
158			<#assign title= txt_titulo.getData() /> 
159			<#assign titleaccesible = "" /> 
160			<#assign title = title?replace("\""," ") /> 
161			<#if locale == "es_ES" > 
162				<#assign titleaccesible = title+" (Se abre en nueva ventana)" /> 
163			</#if> 
164			<#if locale == "en_US"> 
165				<#assign titleaccesible = title+" (Opens in new window)" /> 
166			</#if> 
167			<#if locale == "pt_PT"> 
168				<#assign titleaccesible = title+" (Abre em nova janela)" /> 
169			</#if> 
170			<#if locale == "gl_ES"> 
171				<#assign titleaccesible = title+" (Ábrese nunha ventá nova)" /> 
172			</#if> 
173			<#if locale == "ca_ES"> 
174				<#assign titleaccesible = title+" (S'obre en una finestra)" /> 
175			</#if> 
176			<#if locale == "fr_FR"> 
177				<#assign titleaccesible = title+" (Ouvre dans une nouvelle fenêtre)" /> 
178			</#if> 
179			<#if titleaccesible == ""> 
180				<#if urlTitle?has_content && urlTitle != ""> 
181					<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
182						${txt_titulo.getData()} 
183					</a> 
184				<#else>  
185					<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
186						${txt_titulo.getData()} 
187					</a> 
188				</#if> 
189			<#else>  
190				<#if urlTitle?has_content && urlTitle != ""> 
191					<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
192						${txt_titulo.getData()} 
193					</a> 
194				<#else>  
195					<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
196						${txt_titulo.getData()} 
197					</a> 
198				</#if> 
199			</#if> 
200		</h3> 
201	</#if> 
202	<#if urlTitle?has_content && urlTitle != "" > 
203		<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a> 
204	<#else> 
205		<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a> 
206	</#if> 
207	<div class="text d-sm-none d-md-block"> 
208		<#if txt_entradilla.getData()?has_content>	 
209			<#assign txt_paragraphsEntra =[] /> 
210			<#assign txt_paragraphsEntra = txt_entradilla.getData()?split('</p>') /> 
211			<#assign pbodyEntra ='' /> 
212			<#assign cantidadEntra =320 /> 
213			<#list txt_paragraphsEntra as paragraphEntra > 
214				<#assign textoEntra = paragraphEntra /> 
215				<#assign textoEntra = HtmlParserUtil.extractText(textoEntra) /> 
216				<#if textoEntra?length gt cantidadEntra > 
217					<#assign pbodyEntra = pbodyEntra +'<p>'+ textoEntra?substring(0,cantidadEntra)+ ('...')+'</p>' /> 
218						<#break> 
219					<#else> 
220						<#assign pbodyEntra =pbodyEntra + '<p>'+ textoEntra + '</p>' /> 
221						<#assign cantidadEntra = cantidadEntra - (textoEntra?length) /> 
222					</#if> 
223				</#list> 
224				<#if txt_titulo.getData()?has_content> 
225					${pbodyEntra} 
226				</#if> 
227			<#else> 
228				<#assign txt_paragraphs =[] /> 
229				<#assign txt_paragraphs = txt_cuerpo.getData()?split('</p>') /> 
230				<#assign pbody ='' /> 
231				<#assign cantidad=320 /> 
232				<#list txt_paragraphs as paragraph> 
233					<#assign texto = paragraph /> 
234					<#assign texto = HtmlParserUtil.extractText(texto) /> 
235					<#if texto?length gt cantidad > 
236						<#assign pbody = pbody +'<p>'+ texto?substring(0,cantidad)+ ('...')+'</p>' /> 
237						<#break> 
238					<#else>  
239						<#assign pbody =pbody + '<p>'+ texto + '</p>' /> 
240						<#assign cantidad = cantidad - texto?length /> 
241					</#if> 
242				</#list> 
243				<#if txt_titulo.getData()?has_content> 
244					${pbody} 
245				</#if> 
246			</#if> 
247		</div> 
248</div> 
249<#assign instanceId =  layout.getLayoutType().getPortletIds() /> 
250<div class="tags"> 
251	<#if articleCategories?? && articleCategories?has_content> 
252		<ul> 
253			<#list articleCategories as category > 
254				<li class='fcc-label'> 
255					<#assign categoryId = category.getCategoryId() /> 
256					<#assign title = category.getTitle(locale) /> 
257					<span title="${title}">${title}</span> 
258				</li> 
259			</#list> 
260		</ul> 
261	</#if> 
262</div> 
263<script> 
264	function setCookie(articleId, groupId, exdays) { 
265		var d = new Date(); 
266		d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
267		var expires = "expires="+ d.toUTCString(); 
268		document.cookie = "tArticleId=" + articleId + ";" + expires + ";path=/"; 
269		document.cookie = "tGroupId=" + groupId + ";" + expires + ";path=/"; 
270
271</script> 
Produciuse un erro ao procesar o modelo.
The following has evaluated to null or missing:
==> art  [in template "12187455#12187494#23407" at line 87, column 21]

----
Tip: If the failing expression is known to 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 urlTitle = art.getUrlTitle(lo...  [in template "12187455#12187494#23407" at line 87, column 1]
----
1<#assign HtmlParserUtil = staticUtil["com.liferay.portal.kernel.util.HtmlParserUtil"] /> 
2<#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") /> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
5<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") /> 
6<#assign friendlyUrlEntryService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") /> 
7<#assign classnameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle") /> 
8 
9<#assign publicURL = themeDisplay.getPathFriendlyURLPublic() /> 
10<#assign customImage = true /> 
11 
12<#attempt> 
13	<#assign fileUrl = Imagen_destacadaFieldSet.Imagen_destacada.getData()?split("?")[0] /> 
14	<#assign urlParts = fileUrl?split("/") /> 
15	<#assign uuid = urlParts[urlParts?size - 1] /> 
16	<#assign groupIdImg = themeDisplay.getScopeGroupId() /> 
17	<#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")/> 
18	<#assign fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupIdImg) /> 
19	<#assign fileEntryId = fileEntry.getFileEntryId() /> 
20	<#assign nombreArchivo = fileEntry.getFileName() /> 
21	<#recover> 
22	<#assign customImage = false /> 
23</#attempt> 
24 
25<#assign diaCambio = 7 /> 
26<#assign mesCambio = 2 /> 
27<#assign anoCambio = 2018 /> 
28<#assign longGroupId = getterUtil.getLong(groupId) /> 
29<#assign id = .vars["reserved-article-id"].data /> 
30 
31<#attempt> 
32	<#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) /> 
33	<#assign articleResourcePK = articleResource.getResourcePrimKey() /> 
34	<#assign art = journalArticleLocalService.getLatestArticle(articleResourcePK) /> 
35	<#assign diaNoti = art.getDisplayDate()?string("dd") /> 
36	<#assign mesNoti = art.getDisplayDate()?string("MM") /> 
37	<#assign anoNoti = art.getDisplayDate()?string("yyyy") /> 
38	<#recover> 
39	<#assign rawDate = .vars["reserved-article-create-date"].data> 
40	<#assign parts = rawDate?split(" ")> 
41	<#assign day = parts[1]> 
42	<#assign monthStr = parts[2]?lower_case> 
43	<#assign year = parts[3]> 
44	<#-- Mapa para meses en minúsculas --> 
45	<#assign months = { 
46		"jan":"01", "feb":"02", "mar":"03", "apr":"04", 
47		"may":"05", "jun":"06", "jul":"07", "aug":"08", 
48		"sep":"09", "oct":"10", "nov":"11", "dec":"12" 
49	} /> 
50	<#assign month = months[monthStr]> 
51	<#assign diaNoti = day /> 
52	<#assign mesNoti = month /> 
53	<#assign anoNoti = year /> 
54</#attempt> 
55 
56<#assign Integer = 0 /> 
57 
58<#if anoCambio gt anoNoti?number > 
59	<#assign miniatura = false /> 
60<#else>  
61	<#if anoCambio == anoNoti?number> 
62		<#if mesCambio gt mesNoti?number> 
63			<#assign miniatura = false /> 
64		<#else>  
65			<#if mesCambio == mesNoti?number> 
66				<#if diaCambio gt diaNoti?number> 
67					<#assign miniatura = false /> 
68				<#else>  
69					<#assign miniatura = true /> 
70				</#if> 
71			<#else>  
72				<#assign miniatura = true /> 
73			</#if> 
74		</#if> 
75	<#else>  
76		<#assign miniatura = true /> 
77	</#if> 
78</#if> 
79 
80<#attempt> 
81	<#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) /> 
82	<#assign articleResourcePK = articleResource.getResourcePrimKey() /> 
83	<#assign articleCategories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", articleResourcePK) /> 
84	<#recover> 
85</#attempt> 
86 
87<#assign urlTitle = art.getUrlTitle(locale) /> 
88 
89<#if !urlTitle?has_content> 
90	<#attempt> 
91		<#assign entries = friendlyUrlEntryService.getFriendlyURLEntries(longGroupId,classnameId,articleResourcePK) /> 
92		<#list entries as entry> 
93			<#assign entryLocalization = friendlyUrlEntryService.getFriendlyURLEntry(entry.friendlyURLEntryId) /> 
94			<#assign urlTitle = entryLocalization.urlTitle /> 
95		</#list> 
96		<#recover> 
97	</#attempt> 
98</#if> 
99 
100 
101<#attempt> 
102	<#assign contentSiteId = articleResource.getGroupId() /> 
103	<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
104	<#assign site = groupLocalService.getGroup(contentSiteId) /> 
105	<#assign siteFURL = site.getFriendlyURL() /> 
106	<#recover> 
107	<#assign site = "" /> 
108	<#assign siteFURL = themeDisplay.getScopeGroup().getFriendlyURL()  /> 
109</#attempt> 
110 
111<div class="detail"> 
112	<#if Imagen_destacadaFieldSet.Imagen_destacada.getData()?has_content> 
113		<div class="imagen_detail">  
114			<#if Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt??> 
115				<#assign alt_dest = Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt.getData() /> 
116			<#else> 
117				<#assign alt_dest = ""/> 
118			</#if> 
119			<#if alt_dest?has_content> 
120				<#assign titulo = txt_titulo.getData()?replace("\""," ") /> 
121				<#if alt_dest?lower_case == "#empty"?lower_case> 
122					<#assign alt_dest = "" /> 
123				<#else>  
124					<#assign alt_dest = alt_dest?replace("\""," ") /> 
125				</#if> 
126				<#if miniatura > 
127					<#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> --> 
128					<#if customImage> 
129						<img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" /> 
130					<#else> 
131						<img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
132					</#if> 
133				<#else>  
134					<img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
135				</#if> 
136			<#else>  
137				<#assign titulo = txt_titulo.getData()?replace("\""," ") /> 
138				<#assign alt_dest = "" /> 
139				<#if miniatura > 
140					<#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> --> 
141					<#if customImage> 
142						<img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" /> 
143					<#else> 
144						<img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
145					</#if> 
146				<#else>  
147					<img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" /> 
148				</#if> 
149			</#if> 
150		</div> 
151	</#if> 
152</div> 
153 
154<div class="data"> 
155	<#if txt_titulo.getData()?has_content> 
156		<span class="date 1${locale} 2${locale.toString()} 3${localeUtil.getDefault()}">${diaNoti}/${mesNoti}/${anoNoti}</span> 
157		<h3> 
158			<#assign title= txt_titulo.getData() /> 
159			<#assign titleaccesible = "" /> 
160			<#assign title = title?replace("\""," ") /> 
161			<#if locale == "es_ES" > 
162				<#assign titleaccesible = title+" (Se abre en nueva ventana)" /> 
163			</#if> 
164			<#if locale == "en_US"> 
165				<#assign titleaccesible = title+" (Opens in new window)" /> 
166			</#if> 
167			<#if locale == "pt_PT"> 
168				<#assign titleaccesible = title+" (Abre em nova janela)" /> 
169			</#if> 
170			<#if locale == "gl_ES"> 
171				<#assign titleaccesible = title+" (Ábrese nunha ventá nova)" /> 
172			</#if> 
173			<#if locale == "ca_ES"> 
174				<#assign titleaccesible = title+" (S'obre en una finestra)" /> 
175			</#if> 
176			<#if locale == "fr_FR"> 
177				<#assign titleaccesible = title+" (Ouvre dans une nouvelle fenêtre)" /> 
178			</#if> 
179			<#if titleaccesible == ""> 
180				<#if urlTitle?has_content && urlTitle != ""> 
181					<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
182						${txt_titulo.getData()} 
183					</a> 
184				<#else>  
185					<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
186						${txt_titulo.getData()} 
187					</a> 
188				</#if> 
189			<#else>  
190				<#if urlTitle?has_content && urlTitle != ""> 
191					<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
192						${txt_titulo.getData()} 
193					</a> 
194				<#else>  
195					<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)"> 
196						${txt_titulo.getData()} 
197					</a> 
198				</#if> 
199			</#if> 
200		</h3> 
201	</#if> 
202	<#if urlTitle?has_content && urlTitle != "" > 
203		<a href="${publicURL}${siteFURL}/w/${urlTitle}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a> 
204	<#else> 
205		<a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a> 
206	</#if> 
207	<div class="text d-sm-none d-md-block"> 
208		<#if txt_entradilla.getData()?has_content>	 
209			<#assign txt_paragraphsEntra =[] /> 
210			<#assign txt_paragraphsEntra = txt_entradilla.getData()?split('</p>') /> 
211			<#assign pbodyEntra ='' /> 
212			<#assign cantidadEntra =320 /> 
213			<#list txt_paragraphsEntra as paragraphEntra > 
214				<#assign textoEntra = paragraphEntra /> 
215				<#assign textoEntra = HtmlParserUtil.extractText(textoEntra) /> 
216				<#if textoEntra?length gt cantidadEntra > 
217					<#assign pbodyEntra = pbodyEntra +'<p>'+ textoEntra?substring(0,cantidadEntra)+ ('...')+'</p>' /> 
218						<#break> 
219					<#else> 
220						<#assign pbodyEntra =pbodyEntra + '<p>'+ textoEntra + '</p>' /> 
221						<#assign cantidadEntra = cantidadEntra - (textoEntra?length) /> 
222					</#if> 
223				</#list> 
224				<#if txt_titulo.getData()?has_content> 
225					${pbodyEntra} 
226				</#if> 
227			<#else> 
228				<#assign txt_paragraphs =[] /> 
229				<#assign txt_paragraphs = txt_cuerpo.getData()?split('</p>') /> 
230				<#assign pbody ='' /> 
231				<#assign cantidad=320 /> 
232				<#list txt_paragraphs as paragraph> 
233					<#assign texto = paragraph /> 
234					<#assign texto = HtmlParserUtil.extractText(texto) /> 
235					<#if texto?length gt cantidad > 
236						<#assign pbody = pbody +'<p>'+ texto?substring(0,cantidad)+ ('...')+'</p>' /> 
237						<#break> 
238					<#else>  
239						<#assign pbody =pbody + '<p>'+ texto + '</p>' /> 
240						<#assign cantidad = cantidad - texto?length /> 
241					</#if> 
242				</#list> 
243				<#if txt_titulo.getData()?has_content> 
244					${pbody} 
245				</#if> 
246			</#if> 
247		</div> 
248</div> 
249<#assign instanceId =  layout.getLayoutType().getPortletIds() /> 
250<div class="tags"> 
251	<#if articleCategories?? && articleCategories?has_content> 
252		<ul> 
253			<#list articleCategories as category > 
254				<li class='fcc-label'> 
255					<#assign categoryId = category.getCategoryId() /> 
256					<#assign title = category.getTitle(locale) /> 
257					<span title="${title}">${title}</span> 
258				</li> 
259			</#list> 
260		</ul> 
261	</#if> 
262</div> 
263<script> 
264	function setCookie(articleId, groupId, exdays) { 
265		var d = new Date(); 
266		d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
267		var expires = "expires="+ d.toUTCString(); 
268		document.cookie = "tArticleId=" + articleId + ";" + expires + ";path=/"; 
269		document.cookie = "tGroupId=" + groupId + ";" + expires + ";path=/"; 
270
271</script>