Navegación por categorías
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy89.getAssetCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy89 object "com.liferay.portlet.asset.service.impl.AssetCategoryLocalServiceImpl@7416d8bc"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: category = assetCategoryService.getAs... [in template "646115#646149#789919" at line 50, column 22]
- Reached through: #assign-container [in template "646115#646149#789919" at line 50, column 13]
---- 1<#assign ParamUtil = staticUtil["com.liferay.portal.kernel.util.ParamUtil"] 2 assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 3 categoryId =ParamUtil.getLong(renderRequest,"categoryId", 0) 4 maxLoop = 100 5 PropsUtil = staticUtil["com.liferay.portal.kernel.util.PropsUtil"] 6 portalVocabularyId = PropsUtil.get("medio.ambiente.vocabulary.id") 7 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 8 assetCategoryPropertyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 9 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 10 SAXReaderUtil = staticUtil["com.liferay.portal.kernel.xml.SAXReaderUtil"] 11 PortletURLFactoryUtil = staticUtil["com.liferay.portal.kernel.portlet.PortletURLFactoryUtil"] 12 PortletRequest = staticUtil["javax.portlet.PortletRequest"] 13/> 14 15<#if (categoryId <= 0) > 16 17 <#if entries?has_content> 18 <#foreach vocabulary in entries> 19 <#if vocabulary.getVocabularyId()+"" == portalVocabularyId> 20 <#foreach aCategory in vocabulary.getCategories()> 21 <#assign aCategory = aCategory/> 22 <#break> 23 </#foreach> 24 <#list 1..maxLoop as i> 25 <#list 1..maxLoop as j> 26 <#if aCategory.getParentCategory()?has_content> 27 <#assign aCategory = aCategory.getParentCategory()/> 28 <#else> 29 <#assign categoryId = aCategory.getCategoryId()/> 30 </#if> 31 <#break> 32 </#list> 33 <#if (categoryId > 0) > 34 <#break> 35 </#if> 36 </#list> 37 </#if> 38 </#foreach> 39 </#if> 40 41</#if> 42 43<nav aria-label="breadcrumb"> 44 <ol class="breadcrumb"> 45 <li class="breadcrumb-title"><span>${languageUtil.get(locale,"medio.ambiente.breadcrumb-title")}</span></li> 46 <li class="breadcrumb-item"><a href="http://www.asturias.es">${languageUtil.get(locale,"medio.ambiente.breadcrumb-asturias")}</a></li> 47 48 <#if (categoryId > 0) > 49 50 <#assign category = assetCategoryService.getAssetCategory(categoryId) 51 breadCrumbContent = "" 52 categoryAncestors = category.getAncestors()/> 53 54 <#if categoryAncestors?has_content> 55 <#foreach categoryAncestor in categoryAncestors> 56 57 <#assign detailPage = "general" 58 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) /> 59 60 <#-- obtener el contenido de la categoría hija --> 61 <#if assetCategoryPropertyService.getCategoryProperty(categoryAncestor.getCategoryId(),"idContenido") ? has_content > 62 <#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(categoryAncestor.getCategoryId(),"idContenido") 63 contentId = contentIdProperty.getValue()/> 64 <#if contentId ? has_content> 65 <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/> 66 67 <#if journalArticleSub?has_content> 68 <#-- obtener el contenido de la categoría actual --> 69 70 <#assign document = SAXReaderUtil.read(journalArticleSub.getContentByLocale(locale)) 71 paginaDetalleNode = document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content") 72 /> 73 <#if paginaDetalleNode?has_content && paginaDetalleNode.getText()?has_content> 74 <#assign pageDetail = paginaDetalleNode.getText()/> 75 <#if (pageDetail?index_of("@")>0)> 76 <#assign pageDetailPosition = (pageDetail?index_of("@")-1) 77 pageDetail = pageDetail[0..pageDetailPosition] 78 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number) 79 /> 80 81 </#if> 82 </#if> 83 84 </#if> 85 </#if> 86 </#if> 87 <#assign categoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE)/> 88 ${categoryUrl.setParameter("categoryId",categoryAncestor.getCategoryId()+"")} 89 90 <#if categoryAncestor.isRootCategory()> 91 <#assign breadCrumbContent = "<li class='breadcrumb-item'><a href='/inicio'>"+languageUtil.get(locale,"medio.ambiente.breadcrumb-portal")+" </a> </li>"+breadCrumbContent/> 92 <#else> 93 <#assign breadCrumbContent = "<li class='breadcrumb-item'><a href='"+categoryUrl+"'>"+categoryAncestor.getName()+" </a> </li>"+breadCrumbContent/> 94 </#if> 95 96 </#foreach> 97 98 ${breadCrumbContent} 99 100 </#if> 101 <li class="breadcrumb-item active">${category.getTitle(locale)}</li> 102 </#if> 103 </ol> 104</nav> 105 106<script type="text/javascript"> 107 $( document ).ready(function() { 108 if(typeof ga !== "undefined") { 109 <#if category ? has_content> 110 var pageName = '${category.getName()}'; 111 <#else> 112 var pageName = location.pathname; 113 </#if> 114 ga( 'send', 'pageview', { 115 'page': pageName, 116 'title': pageName 117 } ); 118 } 119 }); 120</script> Navegación por categorías
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy89.getAssetCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy89 object "com.liferay.portlet.asset.service.impl.AssetCategoryLocalServiceImpl@7416d8bc"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign currentCategory = assetCatego... [in template "646115#646149#789937" at line 16, column 10]
---- 1<#assign assetCategoriesCustomService = serviceLocator.findService("pa.mtl.assetcategories.customservice.api.AssetCategoriesCustomServiceApi") 2 assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 3 assetCategoryPropertyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") 4 SAXReaderUtil = staticUtil["com.liferay.portal.kernel.xml.SAXReaderUtil"] 5 HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"] 6 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 7 PortletURLFactoryUtil = staticUtil["com.liferay.portal.kernel.portlet.PortletURLFactoryUtil"] 8 PortletRequest = staticUtil["javax.portlet.PortletRequest"] 9 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 10 ParamUtil = staticUtil["com.liferay.portal.kernel.util.ParamUtil"] 11 categoryId =ParamUtil.getLong(renderRequest,"categoryId", 0) 12 categoryName = ParamUtil.getString(request,"categoryName", "") 13/> 14 15<#if ! currentCategory ? has_content > 16 <#assign currentCategory = assetCategoryService.getAssetCategory(categoryId)/> 17</#if> 18 19<#assign childCategories = assetCategoriesCustomService.getChildCategoriesOrdered(categoryId,locale) 20 showContents = true 21 forceShowCategories = false 22/> 23 24<#assign structureArticulo = assetCategoriesCustomService.findStructure("ARTICULO", groupId)/> 25<#assign structureEnlace = assetCategoriesCustomService.findStructure("ENLACE", groupId)/> 26 27<#assign sin_grandchildCategories = 0 /> 28<#assign cat_nivel_1 = 0 /> 29 30 31<#assign TPL_categoria_img_acceso = "173202" /> 32 33 34<#-- Pintar subcategorías --> 35<#if childCategories?has_content> 36 <div class="card flex-md-row mb-4 box-shadow h-md-250"> 37 <div class="card-body d-flex flex-column align-items-start listado-categorias"> 38 <#assign hay_contenido_cat = 0 /> 39 40 <#list childCategories as childCategory> 41 <#assign contentId = (assetCategoryPropertyService.getCategoryProperty(childCategory.getCategoryId(), "idContenido").getValue())!""/> 42 <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/> 43 <#if journalArticleSub.getStatus() == 0> 44 <#if contentId ? has_content> 45 <#assign hay_contenido_cat = hay_contenido_cat + 1 /> 46 47 <#--compruebo si tiene nietas, si no las tiene es que ella misma es nieta --> 48 49 <#if journalArticleSub?has_content> 50 <#assign grandchildCategories = assetCategoriesCustomService.getChildCategoriesOrdered(childCategory.getCategoryId(),locale) /> 51 <#if grandchildCategories?has_content> 52 <#assign cat_nivel_1 = 1 /> 53 </#if> 54 </#if> 55 </#if> 56 </#if> 57 </#list> 58 59 60 <h2 class="mb-0">${currentCategory.getTitle(locale)}</h2> 61 <#assign contentId = (assetCategoryPropertyService.getCategoryProperty(currentCategory.getCategoryId(), "idContenido").getValue())!""/> 62 <#if contentId ? has_content> 63 <#assign journalArticleCat = journalArticleService.getLatestArticle(groupId,contentId)/> 64 </#if> 65 66 <#list childCategories as childCategory> 67 <#assign contentId = (assetCategoryPropertyService.getCategoryProperty(childCategory.getCategoryId(), "idContenido").getValue())!""/> 68 <#if contentId ? has_content> 69 <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/> 70 <#if journalArticleSub.getStatus() == 0> 71 <#assign document = SAXReaderUtil.read(journalArticleSub.getContentByLocale(locale)) 72 paginaDetalleNode = document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content") 73 descripcionNode = document.selectSingleNode("/root/dynamic-element[@name='descripcion']/dynamic-content") 74 descripcion = HtmlUtil.stripHtml(descripcionNode.getText()) 75 /> 76 77 <#if paginaDetalleNode?has_content && paginaDetalleNode.getText()?has_content> 78 <#assign pageDetail = paginaDetalleNode.getText()/> 79 <#if (pageDetail?index_of("@")>0)> 80 <#assign pageDetailPosition = (pageDetail?index_of("@")-1) 81 pageDetail = pageDetail[0..pageDetailPosition] 82 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number) 83 /> 84 </#if> 85 <#else> 86 <#assign detailPage = "general" 87 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) /> 88 </#if> 89 90 <#assign categoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE)/> 91 ${categoryUrl.setParameter("categoryId", childCategory.getCategoryId()+"")} 92 93 <#if journalArticleSub?has_content> 94 <#assign grandchildCategories = assetCategoriesCustomService.getChildCategoriesOrdered(childCategory.getCategoryId(),locale) 95 showContents = true 96 forceShowCategories = false 97 /> 98 <#if cat_nivel_1 == 1 > 99 <#if grandchildCategories?has_content> 100 101 <div class="categoria-asociada"> 102 <div class="row"> 103 <div class="col-md-2 categoria-imagen"> 104 <#assign contenidoImagen = journalArticleService.getArticleContent(journalArticleSub, TPL_categoria_img_acceso, "VIEW", locale, themeDisplay)/> 105 ${contenidoImagen} 106 </div> 107 <div class="col-md-10"> 108 <h3 class="title">${childCategory.getTitle(locale)}</h3> 109 110 <#assign contador = 0 /> 111 <#list grandchildCategories as grandchildCategory> 112 <#if assetCategoryPropertyService.getCategoryProperty(grandchildCategory.getCategoryId(),"idContenido") ? has_content > 113 <#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(grandchildCategory.getCategoryId(),"idContenido")/> 114 <#assign contentId = contentIdProperty.getValue()/> 115 <#if contentId ? has_content> 116 <#assign journalArticleSubSub = journalArticleService.getLatestArticle(groupId,contentId)/> 117 <#if journalArticleSubSub.getStatus() == 0> 118 <#assign document = SAXReaderUtil.read(journalArticleSubSub.getContentByLocale(locale)) 119 paginaDetalleNode = document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content") 120 descripcionNode = document.selectSingleNode("/root/dynamic-element[@name='descripcion']/dynamic-content") 121 titleNode = document.selectSingleNode("/root/dynamic-element[@name='texto']/dynamic-content") 122 texto = HtmlUtil.stripHtml(titleNode.getText()) 123 descripcion = HtmlUtil.stripHtml(descripcionNode.getText()) 124 /> 125 126 <#if paginaDetalleNode?has_content && paginaDetalleNode.getText()?has_content> 127 <#assign pageDetail = paginaDetalleNode.getText()/> 128 <#if (pageDetail?index_of("@")>0)> 129 <#assign pageDetailPosition = (pageDetail?index_of("@")-1) 130 pageDetail = pageDetail[0..pageDetailPosition] 131 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number) 132 /> 133 </#if> 134 <#else> 135 <#assign detailPage = "general" 136 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) /> 137 </#if> 138 139 <#assign grandchildCategoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE)/> 140 ${grandchildCategoryUrl.setParameter("categoryId", grandchildCategory.getCategoryId()+"")} 141 142 <div class="col-md-6 articulo-relacionado"> 143 <h4 class="title">${texto}</h4> 144 <div class="summary">${descripcion}</div> 145 <div class="link-more"> 146 <a class="more-information" title="${languageUtil.get(locale,'medio.ambiente.general.more-info-about')} ${grandchildCategory.getTitle(locale)}" 147 href="${grandchildCategoryUrl}" >${languageUtil.get(locale,'medio.ambiente.general.more-info')}</a> 148 </div> 149 </div> 150 <#assign contador = contador +1 /> 151 </#if> 152 </#if> 153 </#if> 154 <#if contador == 4> 155 <#break> 156 </#if> 157 </#list> 158 <#-- Cuando hay más de 4 mostramos el enlace --> 159 <#if grandchildCategories?size gt 4> 160 <div class="col-md-12"> 161 <div class="link-more"> 162 <a class="more-information" title="${languageUtil.get(locale,'medio.ambiente.general.more-info-about')} ${childCategory.getTitle(locale)}" 163 href="${categoryUrl}" >${languageUtil.get(locale,'medio.ambiente.general.more-info-about')} ${childCategory.getTitle(locale)}</a> 164 </div> 165 </div> 166 </#if> 167 168 </div><#-- col-md-10 --> 169 </div><#-- row --> 170 </div><#-- categoria-asociada --> 171 </#if> 172 </#if> 173 </#if> 174 </#if> 175 </#if> 176 </#list> 177 178 <#-- Estamos en el segundo nivel, cuando la categoría actual es nieta --> 179 <#if cat_nivel_1 != 1 > 180 <div class="categoria-asociada"> 181 <div class="row"> 182 <div class="col-md-2 categoria-imagen"> 183 <#assign contenidoImagen = journalArticleService.getArticleContent(journalArticleCat, TPL_categoria_img_acceso, "VIEW", locale, themeDisplay)/> 184 ${contenidoImagen} 185 </div> 186 <div class="col-md-10"> 187 <#list childCategories as childCategory> 188 <#if assetCategoryPropertyService.getCategoryProperty(childCategory.getCategoryId(),"idContenido") ? has_content > 189 <#assign contentIdProperty = assetCategoryPropertyService.getCategoryProperty(childCategory.getCategoryId(),"idContenido")/> 190 <#assign contentId = contentIdProperty.getValue()/> 191 <#if contentId ? has_content> 192 <#assign journalArticleSubSub = journalArticleService.getLatestArticle(groupId,contentId)/> 193 <#if journalArticleSubSub.getStatus() == 0> 194 <#assign document = SAXReaderUtil.read(journalArticleSubSub.getContentByLocale(locale)) 195 paginaDetalleNode = document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content") 196 descripcionNode = document.selectSingleNode("/root/dynamic-element[@name='descripcion']/dynamic-content") 197 titleNode = document.selectSingleNode("/root/dynamic-element[@name='texto']/dynamic-content") 198 texto = HtmlUtil.stripHtml(titleNode.getText()) 199 descripcion = HtmlUtil.stripHtml(descripcionNode.getText()) 200 /> 201 202 <#if paginaDetalleNode?has_content && paginaDetalleNode.getText()?has_content> 203 <#assign pageDetail = paginaDetalleNode.getText()/> 204 <#if (pageDetail?index_of("@")>0)> 205 <#assign pageDetailPosition = (pageDetail?index_of("@")-1) 206 pageDetail = pageDetail[0..pageDetailPosition] 207 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number) 208 /> 209 </#if> 210 <#else> 211 <#assign detailPage = "general" 212 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) /> 213 </#if> 214 215 <#assign grandchildCategoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE)/> 216 ${grandchildCategoryUrl.setParameter("categoryId", childCategory.getCategoryId()+"")} 217 218 <div class="col-md-6 articulo-relacionado"> 219 <h4 class="title">${texto}</h4> 220 <div class="summary">${descripcion}</div> 221 <div class="link-more"> 222 <a class="more-information" title="${languageUtil.get(locale,'medio.ambiente.general.more-info-about')} ${childCategory.getTitle(locale)}" 223 href="${grandchildCategoryUrl}" >${languageUtil.get(locale,'medio.ambiente.general.more-info')}</a> 224 </div> 225 </div> 226 </#if> 227 </#if> 228 </#if> 229 230 </#list> 231 232 </div><#-- col-md-10 --> 233 </div><#-- row --> 234 </div><#-- categoria-asociada --> 235 236 237 238 239 </#if> 240 </div> 241 </div> 242<#-- No hay subcategorías, pintamos los contenidos de la categoría --> 243<#else> 244 <#assign TPL_articulo_listado = "173206" /> 245 <div class="card flex-md-row mb-4 box-shadow h-md-250"> 246 <div class="card-body d-flex flex-column align-items-start navegacion-categorias"> 247 <h2 class="mb-0">${currentCategory.getTitle(locale)}</h2> 248 <#assign contentId = (assetCategoryPropertyService.getCategoryProperty(currentCategory.getCategoryId(), "idContenido").getValue())!""/> 249 <#if contentId ? has_content> 250 <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/> 251 <#if journalArticleSub.getStatus() == 0> 252 <div class="categoria-asociada"> 253 <div class="row"> 254 <div class="col-md-2 categoria-imagen"> 255 <#assign contenidoImagen = journalArticleService.getArticleContent(journalArticleSub, TPL_categoria_img_acceso, "VIEW", locale, themeDisplay)/> 256 ${contenidoImagen} 257 </div> 258 <div class="col-md-10"> 259 <#assign journalArticles = assetCategoriesCustomService.findJournalArticlesByCategoryId(currentCategory.getCategoryId(), groupId, structureArticulo, null, "title", "asc", null, null)/> 260 261 <#list journalArticles as journalArticle> 262 <#assign document = SAXReaderUtil.read(journalArticle.getContentByLocale(locale)) 263 currentUrl = renderResponse.createRenderURL() 264 detailPage = "detalle" 265 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) 266 detailUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE) 267 titulo = document.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content").getText() 268 /> 269 ${currentUrl.setParameter("categoryId",categoryId+"")} 270 ${detailUrl.setParameter("categoryId",currentCategory.getCategoryId()+"")} 271 ${detailUrl.setParameter("articleId", journalArticle.getArticleId())} 272 273 <#assign contenidoArticulo = journalArticleService.getArticleContent(journalArticle, TPL_articulo_listado, "VIEW", locale, themeDisplay)/> 274 <div class="col-md-6 ${journalArticle?item_parity}"> 275 ${contenidoArticulo} 276 <div class="link-more"> 277 <a class="more-information" title="${languageUtil.get(locale,'medio.ambiente.general.more-info-about')} ${titulo}" 278 href="${detailUrl}&articleId=${journalArticle.getArticleId()}&title=${HtmlUtil.escapeURL(titulo)}&redirect=${HtmlUtil.escapeURL(currentUrl)}">${languageUtil.get(locale,'medio.ambiente.general.more-info')}</a> 279 </div> 280 </div> 281 </#list> 282 <#-- ENLACES --> 283 <#assign journalArticlesEnlaces = assetCategoriesCustomService.findJournalArticlesByCategoryId(currentCategory.getCategoryId(), groupId, structureEnlace, null, "title", "asc", null, null)/> 284 <#if journalArticlesEnlaces ? has_content > 285 <div class="col-md-12"> 286 <h3 class="title">Web</h3> 287 <ul> 288 <#list journalArticlesEnlaces as journalArticleEnlace> 289 <#assign documentEnlace = SAXReaderUtil.read(journalArticleEnlace.getContentByLocale(locale)) 290 titulo = documentEnlace.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content").getText() 291 urlEnlace = "" 292 nombreEnlace = "" 293 /> 294 <#if documentEnlace.selectSingleNode("/root/dynamic-element[@name='urlEnlace']/dynamic-content") ? has_content> 295 <#assign urlEnlaceNode = documentEnlace.selectSingleNode("/root/dynamic-element[@name='urlEnlace']/dynamic-content") 296 urlEnlace = urlEnlaceNode.getText() 297 /> 298 </#if> 299 <#if documentEnlace.selectSingleNode("/root/dynamic-element[@name='textoAlternativo']/dynamic-content") ? has_content> 300 <#assign textoAlternativoNode = documentEnlace.selectSingleNode("/root/dynamic-element[@name='textoAlternativo']/dynamic-content") 301 textoAlternativo = textoAlternativoNode.getText() 302 /> 303 </#if> 304 305 <#assign nombreEnlace = titulo /> 306 <#if (textoAlternativo?? && textoAlternativo != "")> 307 <#assign nombreEnlace = textoAlternativo /> 308 </#if> 309 310 <li> 311 <a class="popup" target="_blank" href="${urlEnlace}" 312 title="${nombreEnlace}. <@liferay.language key="medio.ambiente.general.external-link" />">${nombreEnlace}</a> 313 </li> 314 </#list> 315 </ul> 316 </div> 317 </#if> 318 </div> 319 </div> 320 </div> 321 </#if> 322 </#if> 323 </div> 324 </div> 325</#if> Publicador de contenidos
Publicador de contenidos no está disponible temporalmente.
Publicador de contenidos
Publicador de contenidos no está disponible temporalmente.
Publicador de contenidos
Publicador de contenidos no está disponible temporalmente.
Publicador de contenidos
Publicador de contenidos no está disponible temporalmente.
Publicador de contenidos
Publicador de contenidos no está disponible temporalmente.
