1<#-- bezieht sich auf WCS Publikationsverbund -->
2<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign articleId = .vars['reserved-article-id'].data />
4<#assign articleTitle = .vars['reserved-article-title'].data />
5
6<#-- functions -->
7<#function getJournalArticle dataObj >
8 <#local journalArticle = "" >
9 <#if dataObj?is_string>
10 <#local data = jsonFactoryUtil.createJSONObject(dataObj)!"" />
11 <#else>
12 <#local data = jsonFactoryUtil.createJSONObject(dataObj.getData())!"" />
13 </#if>
14 <#if data?has_content>
15 <#local classPK = data.classPK >
16 <#local className = data.className >
17 <#local entry = AssetEntryLocalService.getEntry(className, classPK?number)! >
18
19 <#if entry??>
20 <#local assetRenderer = entry.getAssetRenderer() />
21 <#local journalArticle = (assetRenderer.getArticle())! />
22 </#if>
23 </#if>
24
25 <#return journalArticle >
26
27</#function>
28
29<#function getSaxReaderDocument dataObj >
30 <#local document = "" >
31
32 <#local journalArticle = getJournalArticle(dataObj) >
33 <#if journalArticle?has_content>
34 <#local document = (saxReaderUtil.read(journalArticle.getContentByLocale(locale.toString())))!"" />
35 </#if>
36
37 <#return document >
38
39</#function>
40
41
42<#-- macros -->
43<#macro referenceTitle dataObj >
44 <#if dataObj?is_string>
45 <#local data = jsonFactoryUtil.createJSONObject(dataObj)!"" />
46 <#else>
47 <#local data = jsonFactoryUtil.createJSONObject(dataObj.getData())!"" />
48 </#if>
49 <#if data?has_content>
50 <#local classPK = data.classPK!"" />
51 <#local title = data.title!"" />
52 </#if>
53
54 <#if classPK?has_content && title?has_content>
55 <#assign contentUrl = FrontendService.article.getFriendlyUrl(classPK?number, themeDisplay.getLocale(), themeDisplay.getScopeGroupId()) >
56 <h5 class="c-toc__title">
57 <a href="${contentUrl}">${title}</a>
58 </h5>
59 </#if>
60</#macro>
61
62<#macro personName nodes >
63 <#list nodes as personNode>
64 <#local autorenWCSKASDEPERSON = personNode.getText() />
65 <#if autorenWCSKASDEPERSON?has_content >
66 <#-- the refrenece at this point is string so we don't use getData() -->
67 <#assign personContent = getSaxReaderDocument(autorenWCSKASDEPERSON) >
68 <#if personContent?has_content>
69 <#local anredetitel = "">
70 <#local vorname = "">
71 <#local nachname = "">
72
73 <#if personContent.selectSingleNode("/root/dynamic-element[@name='anredetitel']/dynamic-content")??>
74 <#local node = personContent.selectSingleNode("/root/dynamic-element[@name='anredetitel']/dynamic-content") />
75 <#local nodeText = node.getText() />
76 <#if nodeText?has_content >
77 <#local anredetitel = nodeText >
78 </#if>
79 </#if>
80
81 <#if personContent.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content")??>
82 <#local node = personContent.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content") />
83 <#local nodeText = node.getText() />
84 <#if nodeText?has_content >
85 <#local vorname = nodeText >
86 </#if>
87 </#if>
88
89 <#if personContent.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content")??>
90 <#local node = personContent.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content") />
91 <#local nodeText = node.getText() />
92 <#if nodeText?has_content >
93 <#local nachname = nodeText >
94 </#if>
95 </#if>
96
97 </#if>
98
99 <#if anredetitel?has_content || vorname?has_content || nachname?has_content>
100 <#if personNode?is_first && personNode?is_last>
101 <span><@liferay.language key="von" /></span> ${anredetitel} ${vorname} ${nachname}
102 <#elseif personNode?is_first>
103 <span><@liferay.language key="von" /></span> ${anredetitel} ${vorname} ${nachname},
104 <#elseif personNode?is_last>
105 ${anredetitel} ${vorname} ${nachname}
106 <#else>
107 ${anredetitel} ${vorname} ${nachname},
108 </#if>
109 </#if>
110 </#if>
111 </#list>
112</#macro>
113
114<#macro referencedPublication document >
115 <#if document?has_content>
116
117 <#if document.selectSingleNode("/root/dynamic-element[@name='untertitel']/dynamic-content")??>
118 <#local node = document.selectSingleNode("/root/dynamic-element[@name='untertitel']/dynamic-content") />
119 <#local untertitel = node.getText() />
120 <#if untertitel?has_content >
121 <p class="c-toc__copy">${untertitel}</p>
122 </#if>
123 </#if>
124
125 <#if document.selectSingleNode("/root/dynamic-element[@name='autorenWCSKASDEPERSON']/dynamic-content")??>
126 <#local nodes = document.selectNodes("/root/dynamic-element[@name='autorenWCSKASDEPERSON']/dynamic-content") />
127 <#if nodes?has_content>
128 <p class="c-toc__author"><@personName nodes /></p>
129 </#if>
130 </#if>
131
132 </#if>
133</#macro>
134
135<#if rubriklabel.getSiblings()?has_content>
136 <#list rubriklabel.getSiblings() as cur_rubriklabel>
137 <#if cur_rubriklabel?has_content>
138
139 <#if (cur_rubriklabel.getData())?has_content >
140 <div class="o-accordion__element-wrapper">
141 <#-- Rubriklabel -->
142 <h3 class="o-accordion__trigger c-toc__headline c-toc__headline--sub" >
143 ${cur_rubriklabel.getData()}
144 <span class="o-accordion__arrow">
145 <svg class="o-icon--small o-icon__arrow-down" viewBox="0 0 18 18">
146 <use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-bottom-chevron"></use>
147 </svg>
148 </span>
149 </h3>
150
151 <#-- Rubrikconent -->
152 <ul class="o-accordion__element c-toc__list">
153 <#if cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings()?has_content>
154 <#list cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings() as cur_rubrikarticleWCSKASDEPUBLIKATION >
155 <#assign document = getSaxReaderDocument(cur_rubrikarticleWCSKASDEPUBLIKATION) >
156 <#if document?has_content>
157 <li class="c-toc__list-item">
158 <@referenceTitle cur_rubrikarticleWCSKASDEPUBLIKATION />
159 <@referencedPublication document />
160 </li>
161 </#if>
162 </#list>
163 </#if>
164 </ul>
165 </div>
166 <#else>
167 <ul class="c-toc__list">
168 <#if cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings()?has_content>
169 <#list cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings() as cur_rubrikarticleWCSKASDEPUBLIKATION >
170 <#assign document = getSaxReaderDocument(cur_rubrikarticleWCSKASDEPUBLIKATION) >
171 <#if document?has_content>
172 <li class="c-toc__list-item">
173 <@referenceTitle cur_rubrikarticleWCSKASDEPUBLIKATION />
174 <@referencedPublication document />
175 </li>
176 </#if>
177 </#list>
178 </#if>
179 </ul>
180 </#if>
181
182 </#if>
183 </#list>
184</#if>