Ruta de navegación
Noticia Título - Revista Seguridad Social
Publicador de contenidos
Atrás Noticia Título
ROSSELLI TRINDADE COSTA
modificado hace 12 días
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy1192.getLatestArticle(long, String, int)" threw an exception when invoked on com.sun.proxy.$Proxy1192 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@3d8b8096"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign currentArticle = journalArtic... [in template "20097#20123#" at line 14, column 1] ----
1<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
2<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] >
3<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] >
4<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") >
5<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
6<#assign assetPublisherHelper = serviceLocator.findService('com.liferay.asset.publisher.util.AssetPublisherHelper')>
7<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
8<#assign assetTagLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")>
9<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
10<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
11
12<#assign articleId = .vars['reserved-article-id'].data>
13<#assign className = "com.liferay.journal.model.JournalArticle">
14<#assign currentArticle = journalArticleLocalService.getLatestArticle(groupId, articleId, 0)/>
15<#assign categoryList = assetCategoryLocalServiceUtil.getCategories(className, currentArticle.resourcePrimKey) >
16<#assign tagList=assetTagLocalService.getTags(className, currentArticle.resourcePrimKey) >
17<#assign tagSearchLayoutURL = portalUtil.getLayoutURL(layoutLocalService.fetchLayoutByFriendlyURL(themeDisplay.getLayoutSet().getGroupId(), themeDisplay.getLayoutSet().getPrivateLayout(), "/tag-search"),themeDisplay) >
18
19<#if (newsImage.getData())?? && newsImage.getData() != "">
20<#assign imageAlt = newsImage.getAttribute("alt")>
21</#if>
22
23<#if !imageAlt?has_content>
24
25 <#assign imageAlt =.vars['reserved-article-title'].data>
26</#if>
27
28
29<div class="container ss-news">
30 <#if Antetitulo?? && Antetitulo.getData() != "">
31 <div class="row pt-2 pb-4 ml-1" style="text-decoration:underline; font-weight: bold">
32 ${Antetitulo.getData()}
33 </div>
34 </#if>
35 <#if title?? && title.getData() != "">
36 <h2 class="h3 row border-bottom pb-3 w-100 d-flex flex-nowrap">
37 <i class="ss-icon ss-icon-portal ss-icon--24 mr-3 mt-3">
38 <i class="path path1"></i>
39 <i class="path path2"></i>
40 <i class="path path3"></i>
41 </i>
42 <span> ${title.getData()}</span>
43 </h2>
44 </#if>
45
46 <div class="row pt-2 pb-4 ml-1">
47 <div class="col-6 col-lg-2 p-0">
48 ${dateUtil.getDate(currentArticle.displayDate, "dd/MM/yyyy", locale, timeZone)}
49 </div>
50
51 <div class="col-6 col-lg-4 p-0">
52 <#list categoryList as category>
53 <p class="text--color mb-0">
54 <strong>
55 ${category.getTitle(locale)}
56 </strong>
57 </p>
58 </#list>
59 </div>
60 </div>
61
62 <#if getterUtil.getBoolean(showImageInDetail.getData())>
63 <#assign marginBottom = "pb-4" />
64 <#else>
65 <#assign marginBottom = "pb-2" />
66 </#if>
67
68 <div class="row pt-2 ${marginBottom} ml-1">
69 ${author.getData()}
70 </div>
71
72 <#if getterUtil.getBoolean(showImageInDetail.getData())>
73 <div class="row pb-5 w-100">
74 <#if newsImage.getData()?? && newsImage.getData() != "">
75 <img class="w-100" alt="${getImageAlt(newsImage)}"
76 data-fileentryid="${newsImage.getAttribute("fileEntryId")}" src="${newsImage.getData()}"/>
77 </#if>
78 </div>
79 </#if>
80
81 <#if mainText?? && mainText.getData() != "">
82 <div class="row">
83 <div class="col-12 p-0">
84 ${mainText.getData()}
85 </div>
86 </div>
87 </#if>
88
89 <#if documenTitle?? && documenTitle.getData() != "" && documenTitle.getSiblings()?has_content>
90 <div class="row mt-3 mb-3">
91 <#list documenTitle.getSiblings() as cur_documenTitle>
92 <div class="col-12 col-md-6 col-lg-4">
93 <a class="ss-text-link card ss-card shadow p-4 d-flex flex-column justify-content-between" href="${cur_documenTitle.document.getData()}" target="_blank" title="<@liferay_ui["message"] key="accesibility.new-window" />">
94 <span class="h5 font-weight-bold">${cur_documenTitle.getData()}</span>
95 <i class="ss-icon ss-icon-download ss-icon--24 align-self-end"></i>
96 </a>
97 </div>
98 </#list>
99 </div>
100 </#if>
101
102 <div class="asset-tags mb-3">
103 <span class="taglib-asset-tags-summary">
104 <#if tagSearchLayoutURL?contains("/portal/layout")>
105 <#list tagList as tag>
106 ${tag.name}
107 </#list>
108 <#else>
109 <#list tagList as tag>
110 <#assign tagURL = renderResponse.createRenderURL() />
111
112 ${tagURL.setParameter("resetCur", "true")}
113 ${tagURL.setParameter("tag", tag.name)}
114
115 <#assign searchURL = tagURL?keep_after("?")/>
116 <#assign searchURL = "${tagSearchLayoutURL}?" + searchURL />
117
118 <a class="label label-lg label-secondary text-uppercase" href="${searchURL}">
119 ${tag.name}
120 </a>
121 </#list>
122 </#if>
123 </span>
124 </div>
125
126 <!-- Contenidos relacionados -->
127 <@getRelatedNews />
128</div>
129
130<script type="text/javascript">
131 // Correccion del scroll automatico que se realiza en el detalle de las noticias
132 var esDetalleNoticia = true;
133</script>
134
135<!-- Contenidos relacionados -->
136<#macro getRelatedNews>
137
138 <#assign tagsListIds = []>
139 <#list tagList as tag>
140 <#assign tagsListIds = tagsListIds + [tag.tagId]>
141 </#list>
142
143 <#assign groupIds = [groupId]>
144 <#assign void = assetEntryQuery.setGroupIds(groupIds)>
145 <#assign void = assetEntryQuery.setClassName(className)>
146 <#assign void = assetEntryQuery.setAnyTagIds(tagsListIds)>
147 <#assign void = assetEntryQuery.setOrderByCol1("publishDate")>
148 <#assign relatedNews = assetEntryLocalService.getEntries(assetEntryQuery)>
149
150 <#if relatedNews?has_content && (relatedNews?size > 1) && (tagsListIds?size >= 1)>
151
152 <#assign baseUrl = themeDisplay.getScopeGroup().getPathFriendlyURL(themeDisplay.getLayout().isPrivateLayout(),themeDisplay)>
153 <#assign groupUrl = groupLocalService.getGroup(themeDisplay.getLayout().getGroupId()).getFriendlyURL()>
154
155 <#assign relatedCount = 0 >
156 <div class="row mb-5 mt-5">
157 <h2 class="col-12 mb-4"><@liferay_ui["message"] key="related.news" /></h2>
158 <#list relatedNews as related>
159 <#if journalArticleLocalService.getArticlesByResourcePrimKey(related.getClassPK())?has_content && (journalArticleLocalService.getArticlesByResourcePrimKey(related.getClassPK())?size >= 1)>
160 <#if relatedCount < 3>
161
162 <#if related.getClassName() == className>
163
164 <#assign relatedCount = relatedCount + 1/>
165
166 <#assign assetRenderer = related.getAssetRenderer()/>
167 <#assign journalArticle = assetRenderer.getAssetObject() />
168
169 <#-- Si es contenido web y de la misma estructura-->
170 <#if articleId != journalArticle.articleId && currentArticle.getDDMStructureKey() == journalArticle.getDDMStructureKey()>
171 <div class="col-12 col-md-6 col-xl-4">
172 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
173 <#assign rootElement = document.getRootElement()>
174 <#assign defaultLanguageId = parseXml ("@default-locale", rootElement)>
175 <#assign layoutURL = journalArticle.urlTitle />
176 <#assign newsTitle = getField("title", locale, defaultLanguageId, rootElement)!>
177 <#assign newsImage = getField("newsImage", locale, defaultLanguageId, rootElement)!>
178 <div class="ss-card ss-card--news card">
179 <#if newsImage?has_content>
180 <div class="card-img-top">
181
182 <#assign imageData = newsImage?eval />
183 <#assign image = getDocumentURL(imageData)/>
184 <img src="${image}" alt="${imageAlt}"/>
185 </div>
186 </#if>
187 <#if newsTitle?has_content && newsTitle != "">
188 <#assign newsUrl = getterUtil.getString(assetRenderer.getURLViewInContext(renderRequest, renderResponse,null)) />
189 <#if validator.isNotNull(newsUrl) >
190 <div class="card-body shadow">
191 <a class="ss-text-link"
192 href="${newsUrl}">${newsTitle}</a>
193 </div>
194 <#elseif renderRequest.portlet.portletName == "com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet" >
195 <div class="card-body shadow">
196 <a class="ss-text-link"
197 href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, related)}">${newsTitle}</a>
198 </div>
199 </#if>
200 </#if>
201 </div>
202 </div>
203 </#if>
204 </#if>
205 </#if>
206 </#if>
207 </#list>
208 </div>
209 </#if>
210</#macro>
211
212<#function getField field languageId defaultLanguageId xml>
213 <#local defaultSelector = "//dynamic-content[@language-id='" + defaultLanguageId + "' and ancestor-or-self::*[@name='" + field + "']]">
214 <#local localeSelector = "//dynamic-content[@language-id='" + languageId + "' and parent::*[@name='" + field + "']]">
215 <#local selector = saxReaderUtil.createXPath(localeSelector)>
216 <#local value = selector.selectSingleNode(xml)!>
217 <#if value?has_content><#return value.getText()></#if>
218 <#local selector = saxReaderUtil.createXPath(defaultSelector)>
219 <#local value = selector.selectSingleNode(xml)!>
220 <#if value?has_content><#return value.getText()></#if>
221 <#return "">
222</#function>
223
224<#function parseXml xpath xml>
225 <#local selector = saxReaderUtil.createXPath(xpath)>
226 <#local result = selector.selectSingleNode(xml)!>
227 <#if result?has_content><#return result.getStringValue()></#if>
228 <#return "">
229</#function>
230
231<#function getDocumentURL documentJson>
232
233 <#attempt>
234 <#if documentJson?has_content>
235 <#assign
236 uuid = documentJson.uuid
237 groupId = documentJson.groupId
238 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number)
239 documentURL = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(), themeDisplay, '')
240 />
241 <#return documentURL>
242 </#if>
243 <#recover>
244
245 <#assign documentURL ="${themeDisplay.getPathThemeImages()}/ImagenDefectoNoticia.png"/>
246 <#return documentURL>
247 <!-- Si se produce una excepción, haz algo aquí -->
248
249 </#attempt>
250
251 <#return ''>
252</#function>
253
254<#function getImageAlt imageVar>
255 <#assign imageAlt = imageVar.getAttribute("alt")>
256 <#if !imageAlt?has_content>
257 <#assign imageAlt =.vars['reserved-article-title'].data>
258 </#if>
259 <#return imageAlt>
260
261</#function>
Lo más leído
Twitter RvstaSegSocial