El 84% de los conductores cree necesario reciclar sus conocimientos: ¿cada cuánto deberíamos hacerlo?
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy86.getEntry(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy86 object "com.liferay.asset.internal.service.AssetEntryLocalServiceWrapper@1c5b99"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign asset = assetEntryLocalServic... [in template "20357736420605#1710429#40806" at line 197, column 33]
---- 1<#assign addVisit = ldaBlogNewsletterService.addVisitFromNewsletter(themeDisplay)/> 2 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 4<#assign localeCurrent = themeDisplay.getLocale() /> 5 6 7<div class="row"> 8 <div class="lda__news-detail col-lg-8"> 9 <div class="lda__img"> 10 11 <#if imagen.getData()?? && imagen.getData() != ""> 12 <img alt="${imagen.getAttribute("alt")}" data-fileentryid="${imagen.getAttribute("fileEntryId")}" src="${imagen.getData()}" /> 13 </#if> 14 </div> 15 16 <div class="lda__info-news"> 17 <div class="lda__tag-wrapper"> 18 <p class="lda__tag"> 19 20 <span><@liferay.language key="lda.blog.news" /></span> 21 22 <#assign 23 journalArticleClassName = "com.liferay.journal.model.JournalArticle" 24 journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 25 article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) 26 articleResourcePK = article.getArticleResource().getResourcePrimKey() 27 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 28 asset = assetEntryLocalService.getEntry(journalArticleClassName, articleResourcePK) 29 categoryList = asset.getCategories() 30 /> 31 32 <#if categoryList?has_content> 33 34 <#list categoryList as category> 35 <span> - ${category.getName()}</span> 36 </#list> 37 38 <#else> 39 40 <span> - <@liferay.language key="lda.blog.section" /></span> 41 42 </#if> 43 44 </p> 45 46 <#assign authorName = .vars['reserved-article-author-name'].data> 47 <#-- Retrieve the published date meta data field of the web content --> 48 <#assign displaydate = .vars['reserved-article-display-date'].data> 49 50 <#-- Save the original page locale for later --> 51 <#assign originalLocale = .locale> 52 53 <#-- Set the page locale to the portals default locale --> 54 <#setting locale = localeUtil.getDefault()> 55 56 <#-- Parse the date to a date object --> 57 <#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 58 59 <#-- Set the page locale back to the original page locale --> 60 <#assign locale = originalLocale> 61 62 <#if author?? && author.getData() != ""> 63 64 <span class="lda__date">por ${author.getData()} - ${displaydate?string["dd/MM/yyyy"]}</span> 65 66 <#else> 67 68 <span class="lda__date">${displaydate?string["dd/MM/yyyy"]}</span> 69 70 </#if> 71 72 73 </div> 74 <div class="lda__share"> 75 <div class="dropdown"> 76 <a class="dropdown-toggle" href="#" id="lda__social-network" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Compartir <i class="icon-share-alt"></i></a> 77 <div class="lda__social-network dropdown-menu dropdown-menu-right" aria-labelledby="lda__social-network" style="position: absolute; will-change: transform; top: 0px; transform: translate3d(25px, 30px, 0px); min-width: 0;"> 78 <ul> 79 <li><a id="facebook-share" href="https://www.facebook.com/LineaDirectaAseguradora/" target="_blank" title="Facebook Línea Directa"><i class="icon-facebook"></i></a></li> 80 <li><a id="twitter-share" href="https://twitter.com/LineaDirecta_es" target="_blank" title="Twitter Línea Directa"><svg class="lexicon-icon" focusable="false" role="presentation" viewBox="0 0 512 512" style="height: 0.9em"> 81<path class="lexicon-icon-outline" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path> 82</svg></a></li> 83 <li><a id="linkedin-share" href="https://www.linkedin.com/company/linea-directa-aseguradora/" target="_blank" title="Linkedin Línea Directa"><i class="icon-linkedin-sign"></i></a></li> 84 </ul> 85 </div> 86 </div> 87 </div> 88 </div> 89 <h2 class="h2">${titulo.getData()}</h2> 90 91 <#assign webContentDataAutor = jsonFactoryUtil.createJSONObject(autor.getData())/> 92<#if webContentDataAutor?? && webContentDataAutor.title??> 93<div class="container-autor-estimacion d-flex space-between"> 94 <#assign classPKAutor = webContentDataAutor.classPK?number /> 95 <#assign relatedJournalArticleAutor = journalArticleLocalService.getLatestArticle(classPKAutor) /> 96 <#assign documentAutor = saxReaderUtil.read(relatedJournalArticleAutor.getContent())> 97 <#assign rootElementAutor = documentAutor.getRootElement()> 98 <#assign defaultLanguageIdAutor = parseXml("@default-locale", rootElementAutor)> 99 <#assign nombreApellidos = getField("nombreApellidos", localeCurrent, defaultLanguageIdAutor, rootElementAutor)!> 100 <#assign imagenAutor = getField("imagen", localeCurrent, defaultLanguageIdAutor, rootElementAutor)!> 101 <#assign tituloAutor = getField("titulo", localeCurrent, defaultLanguageIdAutor, rootElementAutor)!> 102 <#assign verificado = getField("verificado", localeCurrent, defaultLanguageIdAutor, rootElementAutor)!> 103 104 <div class="content-autor d-flex flex-row align-items-center gap-2 mb-3"> 105 <#if imagenAutor?has_content && imagenAutor != '{}' && imagenAutor != '{"description":"","title":"","url":""}' && imagenAutor != '{"alt":""}'> 106 <#assign srcImagen = jsonFactoryUtil.createJSONObject(imagenAutor).url /> 107 <#if jsonFactoryUtil.createJSONObject(imagenAutor).alt?has_content> 108 <#assign altImagen = jsonFactoryUtil.createJSONObject(imagenAutor).alt /> 109 <#else> 110 <#assign altImagen = nombreApellidos /> 111 </#if> 112 <img class="img-autor" src="${srcImagen}" alt="${altImagen}" width="40" height="40" loading="lazy"/> 113 <#else> 114 <#assign inicial = nombreApellidos?substring(0, 1)?upper_case /> 115 <div class="d-flex align-items-center justify-content-center fw-bold" style="width:40px;height:40px;min-width:40px;background-color:#F7F7F7;color:#1A1A1AA6;font-size: 1.5rem;border-radius:4px;line-height:2rem;"> 116 ${inicial} 117 </div> 118 </#if> 119 <div class="d-flex flex-column"> 120 <#if verificado == "true"> 121 <div class="d-flex align-items-center autor-verify"> 122 <span class="low-3 name-autor">${nombreApellidos}</span> 123 <svg width="16" height="24" viewBox="0 0 16 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 124 <g clip-path="url(#clip0_969_3519)"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.76818 5.52475C7.42932 4.79907 8.57126 4.79902 9.23237 5.52475L9.91271 6.27149C10.1131 6.49145 10.4012 6.61088 10.6985 6.59701L11.7076 6.55014C12.6884 6.50433 13.4963 7.31218 13.4505 8.29298L13.4029 9.30209C13.3892 9.59926 13.5085 9.88756 13.7285 10.0879L14.4752 10.7682C15.201 11.4294 15.2011 12.5713 14.4752 13.2324L13.7285 13.9128C13.5086 14.1132 13.3891 14.4013 13.4029 14.6986L13.4505 15.7077L13.4492 15.8893C13.3981 16.7261 12.7261 17.3983 11.8893 17.4492L11.7076 17.4505L10.6985 17.403C10.4012 17.3891 10.1131 17.5085 9.91271 17.7285L9.23237 18.4753C8.57126 19.2011 7.42932 19.201 6.76818 18.4753L6.08784 17.7285C5.88744 17.5085 5.59929 17.3892 5.30203 17.403L4.29292 17.4505C3.31221 17.4964 2.50442 16.6883 2.55008 15.7077L2.59695 14.6986C2.61082 14.4012 2.4914 14.1132 2.27143 13.9128L1.52469 13.2324C0.798997 12.5714 0.799128 11.4294 1.52469 10.7682L2.27143 10.0879C2.49143 9.88755 2.61069 9.59932 2.59695 9.30209L2.55008 8.29298C2.50424 7.31218 3.31211 6.5043 4.29292 6.55014L5.30203 6.59701C5.59928 6.61082 5.88744 6.49146 6.08784 6.27149L6.76818 5.52475ZM10.5006 10.3132C10.3054 10.1179 9.98883 10.1179 9.79357 10.3132L7.48042 12.6263L6.5006 11.6465C6.30535 11.4512 5.98883 11.4513 5.79357 11.6465C5.59831 11.8418 5.59831 12.1583 5.79357 12.3535L7.1269 13.6869C7.32217 13.882 7.63869 13.8821 7.83393 13.6869L10.5006 11.0202C10.6958 10.8249 10.6958 10.5084 10.5006 10.3132Z" fill="#BBA35B"/></g> 125 <defs><clipPath id="clip0_969_3519"><rect width="16" height="16" fill="white" transform="translate(0 4)"/></clipPath></defs> 126 </svg> 127 </div> 128 <#else> 129 <span class="low-3 name-autor">${nombreApellidos}</span> 130 </#if> 131 <span class="low-2 description-autor">${tituloAutor}</span> 132 </div> 133 </div> 134 </div> 135</#if> 136 137 138 <p class="lda__intro">${encabezado.getData()}</p> 139 <div class="lda__wrapper"> 140 ${descripcion.getData()} 141 </div> 142 143 144 <#assign webContentDataAutor = jsonFactoryUtil.createJSONObject(autor.getData())/> 145 <#if webContentDataAutor?? && webContentDataAutor.title??> 146 147 <#assign classPKAutor = webContentDataAutor.classPK?number /> 148 <#assign relatedJournalArticleAutor = journalArticleLocalService.getLatestArticle(classPKAutor) /> 149 <div> 150 <#assign instanceId = "ldaAutorBox" + relatedJournalArticleAutor.articleId> 151 <#assign preferences = { 152 "articleId": relatedJournalArticleAutor.articleId, 153 "groupId": themeDisplay.getScopeGroupId(), 154 "portletSetupPortletDecoratorId": "barebone" 155 } /> 156 157 <@liferay_portlet["runtime"] 158 defaultPreferences="${freeMarkerPortletPreferences.getPreferences(preferences)}" 159 instanceId="${instanceId}" 160 portletProviderAction=portletProviderAction.VIEW 161 portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" /> 162 163 <#assign preferences = {} /> 164 </div> 165 166 </#if> 167 168 169 170 </div> 171 172 <div class="col-lg-4"> 173 174 <#if relatedNews?has_content> 175 <#if relatedNews.getSiblings()?has_content> 176 177 <#assign webContentData = jsonFactoryUtil.createJSONObject(relatedNews.getSiblings()[0].getData()) /> 178 179 <#if webContentData.className?has_content && webContentData.classPK?has_content> 180 181 <div class="autofit-float autofit-row portlet-header"> 182 <div class="autofit-col autofit-col-expand"> 183 <h2 class="portlet-title-text portlet-title-editable"> 184 185 <@liferay.language key="lda.blog.tags.related.content" /> 186 187 </h2> 188 </div> 189 </div> 190 <div class="lda__others-news"> 191 <ul class="lda__list-news"> 192 <#list relatedNews.getSiblings() as cur_relatedNews> 193 194 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 195 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 196 <#assign webContentData = jsonFactoryUtil.createJSONObject(cur_relatedNews.getData()) /> 197 <#assign asset = assetEntryLocalService.getEntry( webContentData.className, getterUtil.getLong( webContentData.classPK ) ) /> 198 <#assign webArticle = asset.getAssetRenderer().getArticle() /> 199 200 <@liferay_journal["journal-article"] 201 articleId=webArticle.getArticleId() 202 ddmTemplateKey="NOTICIA_LO_ULTIMO" 203 groupId=webArticle.getGroupId() 204 /> 205 206 </#list> 207 </ul> 208 </div> 209 210 </#if> 211 212 </#if> 213 </#if> 214 215 <#if .vars['reserved-article-asset-tag-names'].data?has_content> 216 217 <div class="news-detail-section mb-3"> 218 219 <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-expand"> 220 <h2 class="portlet-title-text portlet-title-editable"> 221 222 <@liferay.language key="lda.blog.tags.hashtag" /> 223 224 </h2> 225 </div> 226 </div> 227 228 <div class="lda__tag-wrapper"> 229 <p class="lda__tag"> 230 231 <#list .vars['reserved-article-asset-tag-names'].data?split(",") as tag> 232 <#if tag?has_content> 233 234 <#assign customSearchUrlForTag = "/blog/buscador?_com_liferay_portal_search_web_portlet_SearchPortlet_formDate=1636549380698&p_p_lifecycle=0&p_p_mode=view&_com_liferay_portal_search_web_portlet_SearchPortlet_mvcPath=%2Fsearch.jsp&_com_liferay_portal_search_web_portlet_SearchPortlet_cur=1&_com_liferay_portal_search_web_portlet_SearchPortlet_format=&_com_liferay_portal_search_web_portlet_SearchPortlet_keywords=tag%3A%28" + tag + "%29&_com_liferay_portal_search_web_portlet_SearchPortlet_assetTagNames.raw=" + tag + "&q=tag%3A%28" + tag + "%29&tag=" + tag/> 235 236 <a href="${customSearchUrlForTag}" type='button' class='btn btn-outline-secondary m-1'>#${tag}</a> 237 </#if> 238 </#list> 239 240 </p> 241 </div> 242 </div> 243 </#if> 244 245 <#if podcastFile?? && podcastFile.getData()?? && podcastFile.getData() != "" || podcastIframeUrl?? && podcastIframeUrl.getData()?? && podcastIframeUrl.getData() != ""> 246 247 <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-expand"> 248 <h2 class="portlet-title-text portlet-title-editable"> 249 250 <@liferay.language key="lda.blog.podcast" /> 251 252 </h2> 253 </div> 254 </div> 255 256 </#if> 257 258 <#if podcastFile?? && podcastFile.getData()?? && podcastFile.getData() != ""> 259 260 <div class="news-detail-section mb-3"> 261 262 <audio controls> 263 <source src="${podcastFile.getData()}"> 264 <@liferay.language key="lda.blog.browser.not.supported" /> 265 </audio> 266 267 </div> 268 269 </#if> 270 271 <#if podcastIframeUrl?? && podcastIframeUrl.getData()?? && podcastIframeUrl.getData() != ""> 272 273 274 <iframe src="${podcastIframeUrl.getData()}" width="100%" style="border: 1px solid #D7D7D7;" height="440" frameborder="0" allowfullscreen="0" scrolling="no"></iframe> 275 276 </#if> 277 278 </div> 279</div> 280 281 282<script> 283 $(document).ready(function() { 284 285 $('#facebook-share').attr("href", "https://www.facebook.com/sharer.php?u=" + encodeURIComponent(window.location.href)); 286 287 $('#twitter-share').attr("href", "https://twitter.com/intent/tweet?original_referer=" + encodeURIComponent(window.location.href) + "&text=" + encodeURI("${titulo.getData()}") + "&url=" + encodeURIComponent(window.location.href)); 288 289 $('#linkedin-share').attr("href", "http://www.linkedin.com/shareArticle/?mini=true&url=" + encodeURIComponent(window.location.href)); 290 291 }); 292 293 Liferay.on("allPortletsReady", function(){ 294 document.getElementsByClassName("lexicon-icon-twitter")[0].children[0].setAttribute("d", "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"); 295 296 let btnCompartirGoogle = $("[ref=triggerButton]")[0]; 297 btnCompartirGoogle.setAttribute("aria-label","Compartir"); 298 }); 299</script> 300 301 302<#function getField field languageId defaultLanguageId xml> 303 <#local defaultSelector = "//dynamic-content[@language-id='" + defaultLanguageId + "' and ancestor-or-self::*[@field-reference='" + field + "']]"> 304 <#local localeSelector = "//dynamic-content[@language-id='" + languageId + "' and parent::*[@field-reference='" + field + "']]"> 305 <#local selector = saxReaderUtil.createXPath(localeSelector)> 306 <#local value = selector.selectSingleNode(xml)!> 307 <#if value?has_content><#return value.getText()></#if> 308 <#local selector = saxReaderUtil.createXPath(defaultSelector)> 309 <#local value = selector.selectSingleNode(xml)!> 310 <#if value?has_content><#return value.getText()></#if> 311 <#return ""> 312</#function> 313 314<#function parseXml xpath xml> 315 <#local selector = saxReaderUtil.createXPath(xpath)> 316 <#local result = selector.selectSingleNode(xml)!> 317 <#if result?has_content><#return result.getStringValue()></#if> 318 <#return ""> 319</#function> 320<style> 321.content-autor.gap-2 { gap: 0.5rem; } 322.content-autor .name-autor { font-size: 1rem; line-height: 1.25rem;} 323.content-autor .description-autor { font-size: 0.875rem; line-height: 1.25rem; } 324</style> Newsletter Suscribirse
¡Bienvenido! Te acabas de suscribir a la newsletter del blog de Línea Directa Aseguradora. Recibirás en la bandeja de entrada un mail para confirmar tu suscripción. Si no lo has recibido espera unos segundos o comprueba tu bandeja de correo no deseado.
Newsletter Suscribirse
¿Quieres suscribirte a nuestra newsletter semanal con las novedades del blog?
Sólo necesitamos tu email para hacerte llegar todas las novedades del blog.