Se ha producido un error al procesar la plantilla.
?substring(...) argument #2 had invalid value: The index mustn't be greater than the length of the string, 3, but it was 196. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign cuerpoFinal = htmlUtil.stripH... [in template "20192#20219#295228" at line 90, column 13] - Reached through: @liferay_util["html-top"] [in template "20192#20219#295228" at line 46, column 1] ----
1<#assign categoriasFriendlyURL = "" />
2<#assign tplBoletinTituloTemplateName = "TPL_BOLETIN_TITULO" />
3
4<#assign AssetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")>
5<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
6<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
7<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
8<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
9<#assign DDMTemplateLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMTemplateLocalService")>
10
11<#assign pathFriendlyURLPublic = "/web" />
12<#assign groupFriendlyURL = "" />
13<#if themeDisplay??>
14 <#assign pathFriendlyURLPublic = themeDisplay.getPathFriendlyURLPublic() />
15 <#assign groupFriendlyURL = themeDisplay.getScopeGroup().getFriendlyURL() />
16 <#if themeDisplay.getScopeGroup().getExpandoBridge().getAttribute("secciones-friendly-URL", false)?? >
17 <#assign categoriasFriendlyURL = themeDisplay.getScopeGroup().getExpandoBridge().getAttribute("secciones-friendly-URL", false) />
18 </#if>
19<#else>
20 <#assign group = GroupLocalService.fetchGroup(groupId) />
21 <#assign groupFriendlyURL = group.getFriendlyURL() />
22 <#if group.getExpandoBridge().getAttribute("secciones-friendly-URL", false)?? >
23 <#assign categoriasFriendlyURL = group.getExpandoBridge().getAttribute("secciones-friendly-URL", false) />
24 </#if>
25</#if>
26<#assign preffixPublicSiteURL = pathFriendlyURLPublic + groupFriendlyURL />
27
28<#assign journalArticleId = .vars['reserved-article-id'].data/>
29<#assign article = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId), journalArticleId)>
30<#assign asset = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) >
31
32<#assign links = AssetLinkLocalService.getLinks(asset.entryId) />
33<#assign categories = AssetCategoryLocalService.getAssetEntryAssetCategories(asset.entryId) />
34
35<#assign templates = DDMTemplateLocalService.getDDMTemplates(-1, -1) />
36<#assign templateKey = "" />
37<#list templates as template>
38 <#if groupId == template.groupId && tplBoletinTituloTemplateName == template.getName(locale, true)>
39 <#assign templateKey = template.templateKey/>
40 </#if>
41</#list>
42
43
44
45<#-- Tarjetas RRSS -->
46<@liferay_util["html-top"]>
47<#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()/>
48
49<#assign PortalURL = themeDisplay.getPortalURL()/>
50<#assign longitudTitulo = titulo.getData()?length/>
51<#assign maxLongitudTitulo = 59/>
52<#assign longitudCuerpo = cuerpo.getData()?length/>
53<#assign maxLongitudCuerpo = 199/>
54
55<meta property="og:url" content="${currentUrl}" />
56
57<#if tituloOG?has_content && tituloOG.getData() != "">
58 <meta property="og:title" content="${tituloOG.getData()}" />
59 <meta name="twitter:title" content="${tituloOG.getData()}" />
60<#else>
61 <#if longitudTitulo gt maxLongitudTitulo >
62 <meta property="og:title" content="${titulo.getData()?substring(0, 56)}..." />
63 <meta name="twitter:title" content="${titulo.getData()?substring(0, 56)}..." />
64 <#else>
65 <meta property="og:title" content="${titulo.getData()}" />
66 <meta name="twitter:title" content="${titulo.getData()}" />
67 </#if>
68</#if>
69<#if (imagenOG.getData())?? && imagenOG.getData() != "">
70 <meta property="og:image" content="${PortalURL}${imagenOG.getData()}" />
71 <meta name="twitter:image" content="${PortalURL}${imagenOG.getData()}">
72<#else>
73 <#if imagen.getData()?? && imagen.getData() != "">
74 <meta property="og:image" content="${PortalURL}${imagen.getData()}" />
75 <meta name="twitter:image" content="${PortalURL}${imagen.getData()}">
76 </#if>
77</#if>
78
79<meta property="og:type" content="article" />
80<meta name="twitter:card" content="summary_large_image">
81<#assign cuerpoFinal = ""/>
82<#assign htmlUtil = serviceLocator.findService("com.liferay.portal.kernel.util.HtmlUtil")>
83
84<#if descripcionOG?has_content && descripcionOG.getData() != "">
85 <#assign descripcionOGFinal = htmlUtil.stripHtml("${descripcionOG.getData()}")>
86 <meta name="og:description" content="${descripcionOGFinal}" />
87 <meta name="twitter:description" content="${descripcionOGFinal}" />
88<#else>
89 <#if longitudCuerpo gt maxLongitudCuerpo >
90 <#assign cuerpoFinal = htmlUtil.stripHtml(cuerpo.getData())?substring(0, 196)+"..." />
91 <#else>
92 <#assign cuerpoFinal = htmlUtil.stripHtml("${cuerpo.getData()}")/>
93 </#if>
94 <meta name="og:description" content="${cuerpoFinal}" />
95 <meta name="twitter:description" content="${cuerpoFinal}" />
96</#if>
97
98</@>
99<#-- FIN Tarjetas RRSS -->
100
101
102<div class="articulo-detalle">
103 <h1 class="articulo-titulo">
104 ${titulo.getData()}
105 </h1>
106
107
108 <div class="articulo-boletin">
109 <#list links as link>
110 <#if link.entryId1 == asset.entryId>
111 <#assign asset1 = AssetEntryLocalService.getEntry(link.entryId2) >
112
113 <#if asset1.className == "com.liferay.journal.model.JournalArticle">
114 <#attempt>
115 <#assign article1 = JournalArticleLocalService.getLatestArticle(asset1.classPK)>
116
117 <span><@liferay.language key="welboa.boletin"/>: </span>
118 <span>
119 <#assign boletinTituloContent = article1.getTitle(locale)/>
120 <#attempt>
121 <#if templateKey != "">
122 <#assign boletinTituloContent = JournalArticleLocalService.getArticleContent(groupId, article1.articleId, "view", templateKey, locale.toString(), themeDisplay) />
123 </#if>
124 <#recover>
125 </#attempt>
126 <a href="${preffixPublicSiteURL}/w/${article1.urlTitle}">
127 ${boletinTituloContent}
128 </a>
129 </span>
130 <#recover>
131 </#attempt>
132 </#if>
133 </#if>
134 </#list>
135 </div>
136 <div class="articulo-categorias">
137 <#list categories as category>
138 <span><@liferay.language key="welboa.tematica"/>: </span>
139 <span>
140 <a href="${preffixPublicSiteURL}${categoriasFriendlyURL}/-/categories/${category.categoryId}?p_r_p_categoryId=${category.categoryId}" title="${category.getTitle(locale)}">
141 ${category.getTitle(locale)}
142 </a>
143 </span>
144 </#list>
145 </div>
146 <div class="articulo-imagen">
147 <#if imagen.getData()?? && imagen.getData() != "">
148 <img alt="${imagen.getAttribute("alt")}" data-fileentryid="${imagen.getAttribute("fileEntryId")}" src="${imagen.getData()}" /><br/>
149 </#if>
150 </div>
151 <#if subtitulo.getData()?? && subtitulo.getData() != "">
152 <div class="articulo-subtitulo">
153 ${subtitulo.getData()}
154 </div>
155 </#if>
156<#--
157 <div class="articulo-entradilla">
158 ${entradilla.getData()}
159 </div>
160-->
161 <div class="articulo-cuerpo">
162 ${cuerpo.getData()}
163
164
165</div>
166
167 <#-- COMPARTIR-->
168
169
170 <div class="gso__newsdetail--content-tools-share d-flex justify-content-end">
171 <span class="navbar-left">Compartir :</span>
172 <div class="taglib-social-bookmarks" id="ykmt___socialBookmarks">
173 <ul class="list-unstyled normal list-group list-group-horizontal">
174 <li class="taglib-social-bookmark taglib-social-bookmark-linkedin pl-3">
175 <span class="deque-tooltip-wrapper"><a href="https://www.linkedin.com/sharing/share-offsite/?url=${currentUrl}" class="linkedinShare" target="_blank"
176 title="<@liferay.language key="welboa.share.article.linkedin" /> <@liferay.language key="opens-new-window" /> "
177 aria-label="<@liferay.language key="welboa.share.article.linkedin" /> <@liferay.language key="opens-new-window" />">
178
179 <i class="icon-linkedin"></i>
180 </a> </span>
181 </li>
182
183 <li class="taglib-social-bookmark taglib-social-bookmark-facebook pl-3">
184 <span class="deque-tooltip-wrapper"><a href="https://www.facebook.com/sharer.php?u=${currentUrl}" class="facebookShare" target="_blank"
185 title="<@liferay.language key="welboa.share.article.facebook" /> <@liferay.language key="opens-new-window" />"
186 aria-label="<@liferay.language key="welboa.share.article.facebook" /> <@liferay.language key="opens-new-window" />">
187 <i class="icon-facebook"></i>
188 </a> </span>
189 </li>
190
191 <li class="taglib-social-bookmark taglib-social-bookmark-twitter pl-3">
192 <span class="deque-tooltip-wrapper"><a href="https://twitter.com/share?url=${currentUrl}" class="twitterShare" target="_blank"
193 title="<@liferay.language key="welboa.share.article.twitter" /> <@liferay.language key="opens-new-window" />"
194 aria-label="<@liferay.language key="welboa.share.article.twitter" /> <@liferay.language key="opens-new-window" />">
195 <i class="icon-twitter"></i>
196 </a></span>
197 </li>
198
199 </ul>
200 </div>
201 </div>
202
203 <#-- FIN COMPARTIR-->
204
205
206</div>
207<style>
208.taglib-social-bookmark a {
209 text-decoration: none;
210}
211
212.taglib-social-bookmark a:is(:hover, :focus, :active) {
213 color: #007127 !important;
214 outline: .2rem solid black !important;
215 outline-offset: 2px !important;
216 position: relative;
217 background-color: white !important;
218}
219
220</style>