アセットパブリッシャー

アセットパブリッシャー

テンプレート処理中にエラーが発生しました。
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> entry [in template "252001#252047#252625" at line 32, column 69]
----
FTL stack trace ("~" means nesting-related):
- Failed at: pubCount = FrontendService.person.get... [in template "252001#252047#252625" at line 32, column 5]
----
1<#-- used @ PERSON-Detailseite "Publikationen, welche von der PERSON verfasst wurden (Autor)" --> 
2 
3<#-- TODO: wurde bisher nur kopiert 
4--> 
5 
6<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
7<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
8 
9<#include "${fullTemplatesPath}/macros/page-modules/PMTiles.ftl" /> 
10<#include "${fullTemplatesPath}/macros/page-modules/PMPageHeadline.ftl" /> 
11 
12<#assign 
13 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
14 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() 
15 
16 themeDisplay = ServiceContext.getThemeDisplay() 
17 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
18 
19 languageId = themeDisplay.getLocale() 
20 groupId = themeDisplay.getScopeGroupId() 
21 currentUrl = themeDisplay.getURLCurrent() 
22 layout = themeDisplay.getLayout() 
23 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
24 
25 content = [] 
26 entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)!"" 
27 
28 portalURL = themeDisplay.getPortalURL() 
29 completeURL = portalURL + currentUrl 
30 pageSize = 10 
31 pub_cur = 1 
32 pubCount = FrontendService.person.getPublikationenOfPersonCount(entry.resourcePrimKey) 
33 pageCeiling=0 
34/> 
35 
36<#if pubCount?? && pubCount?is_number > 
37 <#assign 
38 lastPage=pubCount/pageSize 
39 pageCeiling=lastPage?ceiling 
40 /> 
41</#if> 
42 
43<#if request.getParameter("publication_person_page_cur")?has_content > 
44 <#assign pageNr = request.getParameter("publication_person_page_cur") > 
45 <#assign pub_cur = pageNr?number > 
46</#if> 
47 
48<#if entry?has_content && pubCount?? && pubCount?is_number && pubCount gt 0 > 
49 
50 <#if pageCeiling gt 1 > 
51 
52 <div class="o-page-module"> 
53 <@PMPageHeadline languageUtil.get(locale, "publikationen") "" /> 
54 <div id="long-polling-placeholder" data-portlet-id="ADT_KASDE_PERSONEN_PUBLIKATIONEN" > 
55 <div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div> 
56 </div> 
57 <script> 
58 ${FrontendService.person.getJavaScriptToLongPollPublicationsToPersonWithPageing(entry.resourcePrimKey, pageSize, pub_cur, themeDisplay)} 
59 </script> 
60 </div> 
61 
62 <script> 
63 function publicationPageing (pageNr) { 
64 var url = new URL("${completeURL}"); 
65 url.searchParams.set("publication_person_page_cur", pageNr); 
66 window.location.replace(url.href); 
67
68 </script> 
69 
70 <div id="custom-pagination" class="taglib-page-iterator"> 
71 <ul class="lfr-pagination-buttons"> 
72 
73 <li class="first c-pagination__item c-pagination__item--first" id="p-first"> 
74 <a class="c-pagination__link" onclick="publicationPageing(1)"> 
75 <svg><use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-pagination-first"></use></svg> 
76 </a> 
77 </li> 
78 
79 <#if pub_cur == 1 > 
80 <li class="disabled c-pagination__item c-pagination__item--previous" id="p-prev"> 
81 <a class="c-pagination__link"> 
82 <svg><use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-pagination-prev"></use></svg> 
83 </a> 
84 </li> 
85 <#else> 
86 <li class="disabled c-pagination__item c-pagination__item--previous" id="p-prev"> 
87 <a class="c-pagination__link" onclick="publicationPageing(${pub_cur-1})"> 
88 <svg><use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-pagination-prev"></use></svg> 
89 </a> 
90 </li> 
91 </#if> 
92 
93 <li class="c-pagination__item c-pagination__item--current" id="p-cur"> 
94 <span>${pub_cur}</span>/${pageCeiling} 
95 </li> 
96 
97 <#if pub_cur == pageCeiling > 
98 <li class="c-pagination__item c-pagination__item--next" id="p-next"> 
99 <a class="c-pagination__link"> 
100 <svg><use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-pagination-next"></use></svg> 
101 </a> 
102 </li> 
103 <#else> 
104 <li class="c-pagination__item c-pagination__item--next" id="p-next"> 
105 <a class="c-pagination__link" onclick="publicationPageing(${pub_cur+1})"> 
106 <svg><use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-pagination-next"></use></svg> 
107 </a> 
108 </li> 
109 </#if> 
110 
111 <li class="last c-pagination__item c-pagination__item--last" id="p-last" <#if (pageCeiling gt 100)>style="display: none"</#if>> 
112 <a class="c-pagination__link" onclick="publicationPageing(${pageCeiling})"> 
113 <svg><use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-pagination-last"></use></svg> 
114 </a> 
115 </li> 
116 
117 </ul> 
118 </div> 
119 
120 <#else> 
121 <!-- asynchronous ADT flow --> 
122 <div class="o-page-module"> 
123 <@PMPageHeadline languageUtil.get(locale, "publikationen") "" /> 
124 <div id="long-polling-placeholder" data-portlet-id="ADT_KASDE_PERSONEN_PUBLIKATIONEN" > 
125 <div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div> 
126 </div> 
127 <script> 
128 ${FrontendService.person.getJavaScriptToLongPollPublicationsToPerson(entry.resourcePrimKey, themeDisplay)} 
129 </script> 
130 </div> 
131 
132</#if> 
133 
134<#elseif (editmode?? && editmode)> 
135 <div class="alert alert-info -hide-live"> 
136 <p><strong>${languageUtil.get(locale,"fehler")}</strong>: ${languageUtil.get(locale, "journalArticle.ist.leer")}</p> 
137 <p><strong>ADT:</strong> ADT_KASDE_PERSON_PUBLIKATIONEN</p> 
138 <p><strong>Layout:</strong> ${layouttpl}</p> 
139 </div> 
140</#if> 

アセットパブリッシャー