Navegación por categorías
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy68.getAssetCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy68 object "com.liferay.asset.categories.internal.service.AssetEntryAssetCategoryRelAssetCategoryLocalServiceWrapper@7ca3fb93"; 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>