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.AssetCategoryPropertyAssetCategoryLocalServiceWrapper@2dbb9803"; 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
18.000 personas utilizaron los servicios del plan especial de transporte a los lagos de Covadonga en Semana Santa
Un total de 17.999 personas utilizaron en Semana Santa los servicios del plan especial de transporte a los lagos de Covadonga, que funcionó durante trece días. Esta cifra es ligeramente inferior a la del año pasado, probablemente a causa del mal tiempo, que obligó a retrasar al 27 de marzo la entrada en vigor del operativo, prevista inicialmente para el día 24.
Por jornadas, el día de mayor afluencia fue el viernes 30 de marzo, con 4.422 viajeros. De ellos, 4.272 utilizaron las lanzaderas del Consorcio de Transportes de Asturias (CTA) y 150 los servicios de Taxitur.
El plan volverá a funcionar este año del 28 de abril al 1 de mayo y todos los fines de semana de este último mes. Coincidiendo con la llegada del verano, los visitantes deberán hacer uso del transporte especial colectivo del 1 de junio al 30 de septiembre, a excepción del 25 de julio y el 8 de septiembre, Día de Asturias.
En otoño, las restricciones se repetirán los días 6, 7, 12, 13, 14, 20, 21, 27 y 28 de octubre y del 6 al 9 de diciembre, con motivo del puente de la Constitución.
Desde la puesta en marcha de esta iniciativa, el número de usuarios sigue creciendo cada año, hasta alcanzar la cifra récord de 212.267 visitantes en 2017.