1<#assign
2 groupFriendlyURL=themeDisplay.getScopeGroup().getFriendlyURL()
3 groupPathFriendlyURLPublic=themeDisplay.getPathFriendlyURLPublic() + groupFriendlyURL
4 navigationJSONObject=jsonFactoryUtil.createJSONObject(htmlUtil.unescape(navigation.getData()?trim))
5 breadcrumbJSONArray=navigationJSONObject.getJSONArray("breadcrumb")
6 childrenJSONArray=navigationJSONObject.getJSONArray("children")
7 parentJSONObject=navigationJSONObject.getJSONObject("parent")
8 productJSONObject=breadcrumbJSONArray.getJSONObject(breadcrumbJSONArray.length()-1)!navigationJSONObject.getJSONObject("self")
9 siblingsJSONArray=navigationJSONObject.getJSONArray("siblings")
10 selfJSONObject=navigationJSONObject.getJSONObject("self")
11/>
12
13<div class="learn-article-nav">
14 <div class="learn-article-breadcrumbs">
15 <div class="learn-article-breadcrumbs-content">
16 <div class="align-items-baseline d-flex justify-content-between mb-3">
17 <ul
18 aria-label="breadcrumb navigation"
19 class="learn-article-breadcrumb"
20 role="navigation"
21 >
22 <!-- Ícone da casa -->
23 <li>
24 <a href="/"><@clay["icon"] symbol="home-full" /></a>
25 </li>
26
27 <#if breadcrumbJSONArray?has_content>
28
29 <#assign maxVisible = 3>
30 <#assign total = breadcrumbJSONArray?size>
31
32 <#if total gt maxVisible>
33 <#assign firstItem = breadcrumbJSONArray.getJSONObject(0)!>
34 <li>
35 <a href="${firstItem.getString('url')!'/'}" title="${firstItem.getString('title')!'...'}">...</a>
36 </li>
37 <#assign startIndex = total - maxVisible + 1>
38 <#if startIndex > total - 1>
39 <#assign startIndex = total - 1>
40 </#if>
41 <#else>
42 <#assign startIndex = 0>
43 </#if>
44
45 <#-- Loop seguro -->
46 <#list startIndex..(total - 1) as i>
47 <#assign breadcrumbJSONObject = breadcrumbJSONArray.getJSONObject(i)!>
48 <#if breadcrumbJSONObject??
49 && breadcrumbJSONObject.title?has_content
50 && breadcrumbJSONObject.url?has_content>
51 <li>
52 <a href="${breadcrumbJSONObject.getString('url')!'/'}">
53 ${breadcrumbJSONObject.getString('title')!'...'}
54 </a>
55 </li>
56 </#if>
57 </#list>
58 <!-- Item atual -->
59 <li>
60 ${navigationJSONObject.getJSONObject("self").getString("title")}
61 </li>
62 </ul>
63 </div>
64 </div>
65 </div>
66
67 <div class="learn-article-nav-content">
68 <#if parentJSONObject?has_content && parentJSONObject.getString("url")?has_content>
69 <div class="learn-article-nav-item learn-article-nav-parent p-3">
70 <div class="mr-2">
71 <a
72 href='${parentJSONObject.getString("url")}'>
73 <svg
74 class="lexicon-icon lexicon-icon-angle-left"
75 role="presentation"
76 viewBox="0 0 512 512">
77 <use xlink:href="/o/admin-theme/images/clay/icons.svg#angle-left"></use>
78 </svg>
79 </a>
80 </div>
81 <span>
82 ${parentJSONObject.getString("title")}
83 </span>
84 </div>
85 </#if>
86 <#if childrenJSONArray.length() gt 0>
87 <ul class="m-0 p-2">
88 <#list 0..childrenJSONArray.length()-1 as i>
89 <li class="learn-article-nav-item">
90 <a
91 class='liferay-nav-item ${(navigationJSONObject.getJSONObject("self").url == childrenJSONArray.getJSONObject(i).url)?then("selected", "")}'
92 href="${childrenJSONArray.getJSONObject(i).url}">
93 <span>
94 ${childrenJSONArray.getJSONObject(i).getString("title")}
95 </span>
96 </a>
97 </li>
98 </#list>
99 </ul>
100 <#elseif siblingsJSONArray.length() gt 0>
101 <ul class="m-0 p-2">
102 <#list 0..siblingsJSONArray.length()-1 as i>
103 <li class="learn-article-nav-item">
104 <a
105 class='liferay-nav-item ${(navigationJSONObject.getJSONObject("self").url == siblingsJSONArray.getJSONObject(i).url)?then("selected", "")}'
106 href="${siblingsJSONArray.getJSONObject(i).url}">
107 <span>
108 ${siblingsJSONArray.getJSONObject(i).getString("title")}
109 </span>
110 </a>
111 </li>
112 </#list>
113 </ul>
114 </#if>
115 </div>
116</div>