Publicador de contidos
Produciuse un erro ao procesar o modelo.
Java method "com.sun.proxy.$Proxy91.getCategories(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy91 object "com.liferay.asset.categories.internal.service.AssetCategoryPropertyAssetCategoryLocalServiceWrapper@239ef4e0"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: categories = AssetCategoryLocalServic... [in template "20192#20219#TPL_WELBOA_BOLETIN_SECCIONES" at line 11, column 41] ----
1<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
2<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
3
4 <div id="nav-main" class="menu-seccion">
5
6 <#if secciones.getSiblings()?has_content>
7 <ul aria-label="<@liferay.language key="welboa.menu.secciones" />" id="main-list" class="list-inline d-flex justify-content-center flex-wrap" role="navigation">
8 <#list secciones.getSiblings() as cur_secciones>
9 <#assign
10 webContentData = jsonFactoryUtil.createJSONObject(cur_secciones.getData())
11 categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", webContentData.classPK?number)
12
13 />
14 <#if categories?? && categories?has_content>
15 <#assign categorySeccion = categories[0] />
16 <#assign url = "" />
17 <#if cur_secciones.getFriendlyUrl()?? && cur_secciones.getFriendlyUrl()?has_content>
18 <#assign url = "${cur_secciones.getFriendlyUrl()}/-/categories/${categorySeccion.categoryId}?boletin=${.vars['reserved-article-id'].getData()}" />
19 </#if>
20 <li role="presentation" class="list-inline-item p-3">
21 <a href="${url}" class="linkWelboa">
22 ${categorySeccion.name}
23 </a>
24 </li>
25 </#if>
26
27
28 </#list>
29
30
31
32 <li class="list-inline-item more dropdown p-3 " id="more-dropdown">
33 <a id="moreDropdown" class="btnSecciones linkWelboa" href="#"xaria-haspopup='true' data-toggle='liferay-dropdown'">
34 <span class="d-md-none"><@liferay.language key="sections" /> <i class="icon-chevron-down"></i></i></span>
35 <span class="d-md-inline-block d-none"><@liferay.language key="welboa.mas.secciones" /> <i class="icon-chevron-down"></i></i></span>
36
37
38 </a>
39 <ul class="dropdown-menu menu__main mt-3 text-center" aria-labelledby="moreDropdown" id="moreDropdownMenu">
40 <!-- Overflow items will be moved here -->
41 </ul>
42 </li>
43 </ul>
44 </#if>
45
46
47 </div>
48
49<script>
50 $(document).ready(function() {
51 var listItems = $('#main-list .list-inline-item:not(.dropdown)');
52
53 var moreDropdown = $('#more-dropdown');
54 var moreWidth = moreDropdown.outerWidth(true);
55 function isMobile() {
56 return window.innerWidth <= 768;
57 }
58 function checkOverflow() {
59 var moreDropdownMenu = $('#moreDropdownMenu');
60
61 moreDropdownMenu.empty();
62
63
64 var containerWidth = ($('#main-list').width()- moreWidth);
65 var itemsWidth = 0;
66 var availablespace = ($('#nav-main').width() - moreWidth);
67
68
69 listItems.each(function() {
70 itemsWidth += $(this).outerWidth(true);
71 if ( (itemsWidth > availablespace) || isMobile()) {
72 $(this).addClass('overflow-hidden');
73
74 var link = $(this).find('a').clone();
75 console.log(link.prop('outerHTML'))
76 link.removeClass('linkWelboa').addClass('linkWelboa-width');
77
78 moreDropdownMenu.append('<li class="dropdown-item">' + link.prop('outerHTML') + '</li>'); // Añade el <li> al dropdown
79
80 } else {
81 $(this).removeClass('overflow-hidden');
82 moreDropdownMenu.find('a[href="' + $(this).find('a').attr('href') + '"]' ).parent().remove();
83 }
84 });
85 // Si no hay elementos ocultos, ocultar el dropdown
86 if ($('.more li').length > 0) {
87 $('.more').css('display','inline-block');
88
89 } else {
90 $('.more').css('display','none');
91 }
92 }
93
94
95 checkOverflow();
96
97 window.addEventListener('resize', checkOverflow);
98
99 Liferay.on('screenChange', function(event) {
100 checkOverflow();
101 });
102});
103</script>
104<style>
105 .overflow-hidden {
106 display: none;
107 }
108 .journal-content-article .menu-seccion ul {
109 .dropdown-item:hover, .dropdown-item.hover {
110 background-color: initial;
111 }
112 li{
113 a {
114 font-size: 1.05rem !important;
115 color: var(--once-brand-color-secondary,#1E2326);
116 }
117 }
118 }
119</style>