Navegación por categorías
Java method "com.sun.proxy.$Proxy67.getAssetCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy67 object "com.liferay.asset.categories.internal.service.AssetEntryAssetCategoryRelAssetCategoryLocalServiceWrapper@e6345e8"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: category = assetCategoryService.getAs... [in template "217051#217099#573763" at line 49, column 22] - Reached through: #assign-container [in template "217051#217099#573763" at line 49, column 13] ----
1<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
2 assetCategoryPropertyService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")
3 SAXReaderUtil = staticUtil["com.liferay.portal.kernel.xml.SAXReaderUtil"]
4 HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"]
5 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")
6 PortletURLFactoryUtil = staticUtil["com.liferay.portal.kernel.portlet.PortletURLFactoryUtil"]
7 PortletRequest = staticUtil["javax.portlet.PortletRequest"]
8 journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
9 ParamUtil = staticUtil["com.liferay.portal.kernel.util.ParamUtil"]
10 categoryId = ParamUtil.getLong(request,"categoryId", 0)
11 title = ParamUtil.getString(request,"title", "")
12 maxLoop = 100
13 imageId = ParamUtil.getString(request,"imageId","")
14/>
15
16<#if (categoryId <= 0) >
17 <#assign categoryId = ParamUtil.getLong(renderRequest,"categoryId", 0)/>
18</#if>
19
20<#if (categoryId <= 0) >
21 <#if entries?has_content>
22 <#foreach aCategory in entries?first.getCategories()>
23 <#assign aCategory = aCategory/>
24 <#break>
25 </#foreach>
26 <#list 1..maxLoop as i>
27 <#list 1..maxLoop as j>
28 <#if aCategory.getParentCategory()?has_content>
29 <#assign aCategory = aCategory.getParentCategory()/>
30 <#else>
31 <#assign categoryId = aCategory.getCategoryId()/>
32 </#if>
33 <#break>
34 </#list>
35 <#if (categoryId > 0) >
36 <#break>
37 </#if>
38 </#list>
39 </#if>
40</#if>
41
42
43<nav aria-label="breadcrumb">
44 <ol class="breadcrumb">
45 <li class="breadcrumb-title"><span>${languageUtil.get(locale,"webasturias.breadcrumb-title")}</span></li>
46 <#--<li class="breadcrumb-item"><a href="/">${languageUtil.get(locale,"webasturias.breadcrumb-asturias")}</a></li>-->
47 <#if (categoryId > 0) >
48
49 <#assign category = assetCategoryService.getAssetCategory(categoryId)
50 categoryAncestors = category.getAncestors()
51 breadCrumbContent = ""/>
52
53 <#if categoryAncestors?has_content>
54 <#foreach categoryAncestor in categoryAncestors>
55
56 <#assign hideCategory = false/>
57
58 <#-- obtener el contenido de la categoría hija -->
59 <#assign contentId = (assetCategoryPropertyService.fetchCategoryProperty(categoryAncestor.getCategoryId(), "idContenido").getValue())!""/>
60 <#if contentId ? has_content>
61 <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/>
62
63 <#if journalArticleSub?has_content>
64 <#-- obtener el contenido de la categoría actual -->
65 <#assign document = SAXReaderUtil.read(journalArticleSub.getContentByLocale(locale))
66 pageDetailNode = document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content")
67 />
68 <#if document.selectSingleNode("/root/dynamic-element[@name='visibleMigas']/dynamic-content")?has_content>
69 <#assign visibleMigasNode = document.selectSingleNode("/root/dynamic-element[@name='visibleMigas']/dynamic-content")
70 visibleMigas = visibleMigasNode.getText()
71 hideCategory = visibleMigas != "1"/>
72 </#if>
73 </#if>
74
75 <#if pageDetailNode?has_content && pageDetailNode.getText()?has_content>
76 <#assign pageDetail = pageDetailNode.getText()/>
77 <#if (pageDetail?index_of("@")>0)>
78 <#assign pageDetailPosition = (pageDetail?index_of("@")-1)
79 pageDetail = pageDetail[0..pageDetailPosition]
80 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number)
81 />
82 </#if>
83 <#else>
84 <#assign detailPage = "general"
85 layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) />
86 </#if>
87
88 <#assign categoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE) />
89 ${categoryUrl.setParameter("categoryId",categoryAncestor.getCategoryId()+"")}
90
91 <#if !(hideCategory?has_content && hideCategory)>
92 <#if categoryAncestor.isRootCategory()>
93 <#assign breadCrumbContent = "<li class='breadcrumb-item'><a href='"+categoryUrl+"'>"+categoryAncestor.getTitle(locale)+" </a> </li>"+breadCrumbContent/>
94 <#else>
95 <#assign breadCrumbContent = "<li class='breadcrumb-item'><a href='"+categoryUrl+"'>"+categoryAncestor.getTitle(locale)+" </a> </li>"+breadCrumbContent/>
96 </#if>
97 </#if>
98 </#if>
99 </#foreach>
100
101 ${breadCrumbContent}
102
103 </#if>
104
105 <#assign hideCategory = false/>
106 <#assign contentId = (assetCategoryPropertyService.fetchCategoryProperty(category.getCategoryId(), "idContenido").getValue())!""/>
107 <#if contentId ? has_content>
108 <#assign journalArticleSub = journalArticleService.getLatestArticle(groupId,contentId)/>
109
110 <#if journalArticleSub?has_content>
111 <#-- obtener el contenido de la categoría actual -->
112 <#assign document = SAXReaderUtil.read(journalArticleSub.getContentByLocale(locale))
113 pageDetailNode = document.selectSingleNode("/root/dynamic-element[@name='paginaDetalle']/dynamic-content")
114 />
115 <#if document.selectSingleNode("/root/dynamic-element[@name='visibleMigas']/dynamic-content")?has_content>
116 <#assign visibleMigasNode = document.selectSingleNode("/root/dynamic-element[@name='visibleMigas']/dynamic-content")
117 visibleMigas = visibleMigasNode.getText()
118 hideCategory = visibleMigas != "1"/>
119 </#if>
120 </#if>
121
122 <#if pageDetailNode?has_content && pageDetailNode.getText()?has_content>
123 <#assign pageDetail = pageDetailNode.getText()/>
124 <#if (pageDetail?index_of("@")>0)>
125 <#assign pageDetailPosition = (pageDetail?index_of("@")-1)
126 pageDetail = pageDetail[0..pageDetailPosition]
127 layoutDetail = layoutLocalService.getLayout(themeDisplay.getScopeGroupId(),false,pageDetail?number)
128 />
129 </#if>
130 <#else>
131 <#if category.isRootCategory()>
132 <#assign detailPage = "inicio"/>
133 <#else>
134 <#assign detailPage = "general"/>
135 </#if>
136
137 <#assign layoutDetail = layoutLocalService.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), false, "/"+detailPage) />
138 </#if>
139
140 <#assign categoryUrl = PortletURLFactoryUtil.create(request, "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet", layoutDetail.getPlid(), PortletRequest.RENDER_PHASE) />
141 ${categoryUrl.setParameter("categoryId",category.getCategoryId()+"")}
142
143 <#if !(hideCategory?has_content && hideCategory)>
144 <#if category.isRootCategory()>
145 <#if title?has_content>
146 <li class="breadcrumb-item"><a href="/inicio">${category.getTitle(locale)}</a></li>
147 <#else>
148 <li class="breadcrumb-item active">${category.getTitle(locale)}</li>
149 </#if>
150 <#else>
151 <#if title?has_content>
152 <li class="breadcrumb-item"><a href="${categoryUrl}<#if imageId ? has_content>?imageId=${imageId}&title=${HtmlUtil.escapeURL(category.getTitle(locale))}</#if>">${category.getTitle(locale)}</a></li>
153 <#else>
154 <li class="breadcrumb-item active">${category.getTitle(locale)}</li>
155 </#if>
156 </#if>
157 </#if>
158 </#if>
159 </#if>
160 <#if title ? has_content>
161 <li class="breadcrumb-item active">${title}</li>
162 </#if>
163 </ol>
164</nav>
165
166<script type="text/javascript">
167 $( document ).ready(function() {
168 if(typeof ga !== "undefined") {
169 <#if title ? has_content>
170 var pageName = '${title}';
171 <#elseif category ? has_content>
172 var pageName = '${category.getName()}';
173 <#else>
174 var pageName = location.pathname;
175 </#if>
176 ga( 'send', 'pageview', {
177 'page': pageName,
178 'title': pageName
179 } );
180 }
181 });
182</script>
Navegación por categorías
El servicio del funicular de Bulnes se suspende hasta el 4 de diciembre para finalizar la revisión integral de la infraestructura
El funicular que da acceso a la localidad de Bulnes, en el municipio de Cabrales, dejará de funcionar desde mañana, 8 de noviembre, hasta el 4 de diciembre, para ejecutar labores de mantenimiento. La actuación servirá para completar la revisión integral de la infraestructura acometida durante el último año. Los últimos trabajos se llevaron a cabo en febrero.
La interrupción del servicio durante las próximas semanas permitirá comprobar el funcionamiento y ajuste de los elementos que afectan a la polea motriz y a los sistemas de frenado. Se trata de una inspección periódica muy relevante en la que participan expertos de distintas partes del mundo. La actuación tiene un coste de 391.246 euros, financiados por la Viceconsejería de Infraestructuras, Movilidad y Territorio.
El director general de Transportes y Movilidad, José Manuel Caldevilla, y el alcalde de Cabrales, José Sánchez, han consensuado con los vecinos de Bulnes la parada de la infraestructura en estas fechas para reducir al mínimo las molestias. El funicular es la única infraestructura de acceso con la que cuenta la localidad.
El Principado ha finalizado recientemente la obra de reparación de la pasarela de evacuación del funicular, que se realizó sin interferir en su funcionamiento, con una inversión de 173.664 euros.