テンプレート処理中にエラーが発生しました。
Syntax error in template "57868206215768#32483061#37081361" in line 116, column 7:
Unexpected end of file reached. You have an unclosed #if. Check if the FreeMarker end-tags are present, and aren't malformed. (Note that FreeMarker end-tags must have # or @ after the / character.)
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> 

Authentication

An access token is necessary for making API calls to Liferay Analytics Cloud. Navigate to SettingsAPIs to generate an access token.

Choose the duration (e.g. 30 days, 6 months, 1 year, or indefinite) for when the access token expires. Click Generate Token.

Select an expiration date and click generate token.

The generated token is valid for the duration you selected. When the token expires, you must generate a new token to perform additional API calls.

A new token is generated.

To use the new token, click Copy (Copy) to copy the access token to your clipboard. Add this to your request authorization header on every API call. For example, you can set the request header with cURL like this:

curl -i -L -H "Authorization: Bearer {token}"

To delete the access token, click Revoke, and the token is removed.