Visualización del menú

actividades_titulo_noticias

Noticias

Publicador de contenidos

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> contentFechaURLString  [in template "10136#10174#153676729" at line 156, column 57]

----
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 urlDetail = urlNews + "/-/con...  [in template "10136#10174#153676729" at line 156, column 13]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
2<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") /> 
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
4 
5 
6 
7 
8<#assign groupFriendlyURL = themeDisplay.getScopeGroup().getFriendlyURL() /> 
9<#assign friendlyURL = themeDisplay.getScopeGroup().getPathFriendlyURL(false,themeDisplay) + groupFriendlyURL /> 
10<#assign actualURLFriendly = portalUtil.getHost(request) + friendlyURL /> 
11<#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
12 
13<#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] /> 
14<#assign URLEncoder = staticUtil["java.net.URLEncoder"] /> 
15<#assign Normalizer = staticUtil["java.text.Normalizer"] /> 
16<#assign currentGroupSite = themeDisplay.getLayout().getGroup().getFriendlyURL()  /> 
17<#if themeDisplay.getLayout().getPrivateLayout() == true > 
18    <#assign state = themeDisplay.getPathFriendlyURLPrivateGroup()/> 
19<#else> 
20    <#assign state = themeDisplay.getPathFriendlyURLPublic()/> 
21</#if> 
22 
23 
24 
25<#assign imagen = languageUtil.get(locale, "listado.noticia.imagen")> 
26<#assign texto = languageUtil.get(locale, "listado.noticia.texto")> 
27<#assign instanceId = themeDisplay.getPortletDisplay().getId()?replace("com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_", "")> 
28<#assign originalInstanceId = themeDisplay.getPortletDisplay().getId()?replace("com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_", "")> 
29<#assign currentPageUrl = PortalUtil.getLayoutURL(themeDisplay.getLayout(),themeDisplay)> 
30<#assign currentLayoutFriendlyUrl = themeDisplay.getLayoutFriendlyURL(themeDisplay.getLayout())> 
31 
32<#-- custom fields  
33<#assign expandos = themeDisplay.getScopeGroup().getExpandoBridge().getAttributes()> 
34<#list expandos?keys as key> 
35    ${key} 
36</#list> 
37--> 
38 
39 
40<#-- site_news_asset_publisher_instance_id name of the custom field for the asset publisher instance id of the site --> 
41<#assign site_news_asset_publisher_instance_id = layout.getGroup().getExpandoBridge().getAttribute("site_news_asset_publisher_instance_id")> 
42<#-- by default the main site asset publisher id --> 
43<#assign site_news_asset_publisher_instance_id_default = layout.getGroup().getExpandoBridge().getAttributeDefault("site_news_asset_publisher_instance_id")> 
44<#-- site_news_url name of the custom field url of the news page of the site --> 
45<#assign site_news_url = themeDisplay.getScopeGroup().getExpandoBridge().getAttribute("site_news_url")> 
46<#-- by default the main site news page --> 
47<#assign site_news_url_default = themeDisplay.getScopeGroup().getExpandoBridge().getAttributeDefault("site_news_url")> 
48 
49 
50<#-- get site_news_url custom field value for the site --> 
51<#list site_news_url?keys as key> 
52	<#if key == locale> 
53		<#assign site_news_url_value = site_news_url?values[key?index]> 
54	</#if> 
55</#list> 
56 
57<#-- get site_news_url custom field default value--> 
58<#list site_news_url_default?keys as key> 
59	<#if key == locale> 
60		<#assign site_news_url_default_value = site_news_url_default?values[key?index]> 
61	</#if> 
62</#list> 
63 
64<#-- assign the url if the site has custom field. Use the default value otherwise--> 
65<#if site_news_url_value??> 
66<#else> 
67	<#if site_news_url_default_value??> 
68		<#assign site_news_url_value = site_news_url_default_value> 
69	</#if> 
70</#if> 
71 
72<#-- assign the instance id if the site has custom field. Use the default value otherwise--> 
73<#if site_news_asset_publisher_instance_id??> 
74<#else> 
75	<#if site_news_asset_publisher_instance_id_default??> 
76		<#assign site_news_asset_publisher_instance_id = site_news_asset_publisher_instance_id_default> 
77	</#if> 
78</#if> 
79 
80  
81<section class="unav-news-list"> 
82    <#if entries?has_content> 
83    	<#list entries as curEntry> 
84    		<#assign article = journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) /> 
85    		<#assign assetRendererDate = curEntry.getAssetRenderer() /> 
86				<#assign journalArticleStructure = article.getDDMStructure().getName(locale)/> 
87				<#if journalArticleStructure = "7_Noticia">	 
88				<#assign aArticleXML = saxReaderUtil.read(article.getContentByLocale(locale)) /> 
89        <#assign rawDate = aArticleXML.valueOf("//dynamic-element[@name='Fecha_noticia']/dynamic-content/text()") /> 
90 
91<#if rawDate?has_content> 
92    <#assign parsedDate = rawDate?date("yyyy-MM-dd") /> 
93 
94    <#assign dateToUse = parsedDate /> 
95    <#assign contentFechaURLString = parsedDate?string["dd/MM/yyyy"] /> 
96    <#assign contentFechaString = parsedDate?string["dd | MM | yyyy"] /> 
97<#else> 
98    <#assign dateToUse = article.getDisplayDate() /> 
99    <#assign contentFechaURLString = dateToUse?string["dd/MM/yyyy"] /> 
100    <#assign contentFechaString = dateToUse?string["dd | MM | yyyy"] /> 
101</#if> 
102				</#if>		 
103 
104 
105    		 <#assign aArticleXML = saxReaderUtil.read(article.getContentByLocale(locale)) /> 
106    		 <#assign tituloNoticia = aArticleXML.valueOf("//dynamic-element[@name='Titulo_noticia']/dynamic-content/text()") /> 
107    		 <#assign autorNombre = aArticleXML.valueOf("//dynamic-element[@name='Nombre_autor']/dynamic-content/text()") /> 
108    		 <#assign autorImagen = aArticleXML.valueOf("//dynamic-element[@name='Autor_imagen']/dynamic-content/text()") /> 
109    		 <#assign jsonObjectString = aArticleXML.valueOf("//dynamic-element[@name='Imagen']/dynamic-content/text()") /> 
110    		  
111    		 <#assign video = aArticleXML.valueOf("//dynamic-element[@name='Video_youtube']/dynamic-content/text()") /> 
112    		  
113    		 <#assign friendlyContentURL = assetPublisherHelper.getAssetViewURL(portalUtil.getLiferayPortletRequest(renderRequest), portalUtil.getLiferayPortletResponse(renderResponse), curEntry,true) /> 
114 
115            <#assign tituloNoticiaEncoded = friendlyUrlDecode(tituloNoticia)> 
116    		  
117 			<#-- Asset publisher instance id in main domain --> 
118 			<#assign mainDomainInstanceId = "lovPblW1fC70"> 
119            <#-- Urls generated always the same page for unav requirements--> 
120            <#-- In main domain, go to main news page and use that asset publisher id. Causes issues with other domains --> 
121            <#-- TODO: remove once custom fields are created--> 
122            <#assign urlNews = languageUtil.get(locale, "url.news.details", "/noticias")> 
123            <#assign instanceId = mainDomainInstanceId> 
124 			 
125 			<#-- Configure url and asset publisher instance id with customFields--> 
126 			<#-- By default configured with main domain news page and asset publisher id. Other domains have to configure it manually in the site configuration --> 
127			<#if site_news_url_value??> 
128				<#assign urlNews = site_news_url_value> 				 
129			</#if> 
130			<#if site_news_asset_publisher_instance_id??> 
131				<#assign instanceId = site_news_asset_publisher_instance_id> 				 
132			</#if> 
133 
134            <#-- WORKAROUND FOR TEMPORAL SITES GO LIVE --> 
135			<#-- lfr.cloud domain urls work differently, redirection to site news has to be adapted for it--> 
136			<#if actualURLFriendly?contains("lfr.cloud")> 
137				<#-- 1. Site with default news page. if using the default value, redirect to main site and use mainDomainInstanceId.--> 
138				<#if site_news_url_default_value == site_news_url_value> 
139					<#assign urlNews = site_news_url_value> 
140					<#assign instanceId = mainDomainInstanceId> 
141				<#else> 
142					<#-- 2. Site with custom news page. if site site_news_url_value contains /web/site/, use site_news_url_value as is and use originalInstanceId to redirect within the site--> 
143					<#if site_news_url_value?contains("/web"+groupFriendlyURL)> 
144						<#assign urlNews = site_news_url_value> 
145						<#assign instanceId = originalInstanceId> 
146						 
147					<#-- 3. Site with custom domain and custom news page. if site site_news_url_value doesn't contain /web/site/ , prepend /web/site to it, to redirect within the site--> 
148					<#else> 
149						<#assign urlNews = "/web"+groupFriendlyURL + site_news_url_value> 
150						<#assign instanceId = originalInstanceId> 
151					</#if> 
152				</#if> 
153				 
154			</#if> 
155 
156            <#assign urlDetail = urlNews+"/-/contents/"+contentFechaURLString+"/"+tituloNoticiaEncoded+"/content/"+instanceId+"/"+curEntry.getEntryId()> 
157             
158<#assign foto = "" > 
159            <a href="${urlDetail}" class="unav-news-list__item"> 
160    		  <#if jsonObjectString?? && jsonObjectString?has_content> 
161    		         <#attempt> 
162                        <#assign jsonObject = jsonObjectString?eval> 
163                        <#assign entryUuid = jsonObject.uuid /> 
164                        <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) /> 
165                        <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) /> 
166                        <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) /> 
167                        <#assign assetRenderer = assetEntry.assetRenderer /> 
168                        <#assign foto = assetRenderer.getURLDownload(themeDisplay) /> 
169                         
170            	        <div class="unav-news-list__img" style="background-image: url('${foto});">&nbsp;</div> 
171                    <#recover> 
172 
173                    </#attempt> 
174                  </#if>     
175                 <#if video?has_content> 
176                    <#if foto == "">  
177                          
178						<div class="unav-news-list__img" style="background-image:url(http://img.youtube.com/vi/${video}/0.jpg)">&nbsp; 
179						</div>        
180					</#if> 
181                  </#if> 
182                   
183                    <div class="unav-news-list__container-txt"> 
184                        <p class="unav__text__date">${contentFechaString}</p> 
185                         
186                        <p class="unav__text unav__text--m">${tituloNoticia}</p> 
187                     
188                        <div class="unav-news-list__info"> 
189                            <#if autorNombre?has_content> 
190                                <p class="unav-writing__info-txt"><span class="unav-writing__info-bold">${texto}</span>${autorNombre}</p> 
191                            </#if> 
192                            <#if autorImagen?has_content> 
193                                <p class="unav-writing__info-txt"><span class="unav-writing__info-bold">${imagen}</span>${autorImagen}</p> 
194                            </#if> 
195                        </div> 
196                    </div> 
197            </a> 
198    	</#list> 
199    </#if> 
200 
201     
202</section> 
203 
204<script> 
205	$(document).ready( function() { 
206		// Avoid lost focus when paginate 
207	    if ($('.lfr-pagination-buttons')) { 
208			var paginationButtons = $('.lfr-pagination-buttons').children(); 
209			for (const paginationButton of paginationButtons) {  
210				var link = $(paginationButton).children(); 
211				if(link) { 
212					$(link).click(function(e){  
213						e.preventDefault(); 
214						var url = $(this).attr('href'); 
215						window.location.href = url + '#unav-news-list'; 
216					}); 
217
218
219
220	}); 
221																																																			  
222	function _com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_lovPblW1fC70_handleDropdownKeyPress(button, list, options, pageIterator) {} 
223</script> 
224 
225<#function friendlyUrlDecode title> 
226 
227    <#assign titleFriendly = title?replace("[^A-Za-z0-9À-ú ]", "", "r")?lower_case> 
228    <#assign titleFriendly = titleFriendly?replace("á", "a", "r")> 
229    <#assign titleFriendly = titleFriendly?replace("é", "e", "r")> 
230    <#assign titleFriendly = titleFriendly?replace("í", "i", "r")> 
231    <#assign titleFriendly = titleFriendly?replace("ó", "o", "r")> 
232    <#assign titleFriendly = titleFriendly?replace("ú", "u", "r")> 
233    <#assign titleFriendly = titleFriendly?replace("ñ", "n", "r")> 
234    <#assign titleFriendly = URLEncoder.encode(titleFriendly)> 
235    <#assign titleFriendly = titleFriendly?replace("\\+", "-","r")> 
236    <#return titleFriendly> 
237</#function>