1<#assign viewInContext = getterUtil.getString(portletPreferences["assetLinkBehavior"], "showFullContent") == "viewInPortlet" />
2<#assign filterIndividuals = getterUtil.getBoolean(portletPreferences["filterIndividualAssets"][0]) />
3
4<#if request.getParameter('p_p_id')?? >
5 <#assign articleIdParamKeyRequest = "_" + request.getParameter('p_p_id') + "_articleId" />
6 <#if request.getParameter(articleIdParamKeyRequest)?? >
7 <#assign articleIdActive = request.getParameter(articleIdParamKeyRequest) />
8 </#if>
9</#if>
10
11<div class="pme-navigation-products clearfix">
12 <#if entries?has_content>
13
14 <div class="pme-navigation-products-icon">
15 <span aria-hidden="true" class="fa fa-bars"></span>
16 <span>${languageUtil.get(locale, "pme-navigation-adt-headline")}</span>
17 </div>
18 <#list entries as curEntry>
19 <#if filterIndividuals && meinFSLinkService??>
20 <#assign displayedEntry = meinFSLinkService.getIndividualAsset(curEntry, themeDisplay.getUser()) />
21 <#else>
22 <#assign displayedEntry = curEntry />
23 </#if>
24
25 <#assign renderer = displayedEntry.getAssetRenderer()/>
26 <#assign journalArticle = renderer.getArticle() />
27 <#assign articleUrlTitle = journalArticle.getUrlTitle() />
28 <#assign activeClass = "" />
29 <#if articleIdActive?? && articleIdActive == journalArticle.getArticleId()>
30 <#assign activeClass = "active" />
31 <#assign arrow_icon_src = "${themeDisplay.getPathThemeImages()}/icons/arrow_right_gray.svg" />
32 <#else>
33 <#assign arrow_icon_src = "${themeDisplay.getPathThemeImages()}/icons/arrow_right.svg" />
34 </#if>
35 <#assign document= saxReaderUtil.read(journalArticle.getContentByLocale(themeDisplay.getLanguageId())) />
36 <#assign rootElement = document.getRootElement() />
37
38 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='headline']") />
39 <#assign headline = validateInputValue(xPathSelector, rootElement) />
40
41 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='liferayLink']") />
42 <#assign liferayLink = validateInputValue(xPathSelector, rootElement) />
43 <#assign liferayLinkContent = htmlUtil.extractText(liferayLink) />
44
45 <#if validator.isNotNull(liferayLinkContent)>
46 <#if liferayLinkContent?contains("@")>
47 <#list htmlUtil.extractText(liferayLink)?split("@") as item>
48 <#if item?index == 0>
49 <#assign linkPageId = item?number>
50 </#if>
51
52 <#if item?index == 1>
53 <#if item?contains("private")>
54 <#assign linkPrivate = true>
55 <#else>
56 <#assign linkPrivate = false>
57 </#if>
58 </#if>
59
60 <#if item?index = 2>
61 <#assign linkGroupId = item?number>
62 </#if>
63 </#list>
64 <#else>
65 <#-- JSON-Format like it is stored in Liferay 7+ -->
66 <#attempt>
67 <#assign
68 valueObj = jsonFactoryUtil.createJSONObject(stringUtil.trim(linkValue))
69 linkGroupId = valueObj.getLong("groupId")
70 linkPrivate = valueObj.getBoolean("privateLayout")
71 linkPageId = valueObj.getLong("layoutId")
72 />
73 <#recover>
74 </#attempt>
75 </#if>
76
77 <#if linkGroupId != 0 && linkPageId != 0>
78 <#-- get layout -->
79 <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
80 <#assign pageLayout = layoutLocalService.getLayout(linkGroupId, linkPrivate, linkPageId) />
81
82 <#-- get Friendly URL -->
83 <#assign linkUrl = portal.getLayoutFriendlyURL(pageLayout, themeDisplay) />
84 <#else>
85 <#assign linkUrl = "" />
86 </#if>
87 <#else>
88 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='targetURL']") />
89 <#assign linkUrl = validateInputValue(xPathSelector, rootElement) />
90
91 <#if (htmlUtil.extractText(linkUrl)?length == 0)>
92 <#assign linkUrl = meinFSAssetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, displayedEntry, viewInContext, articleUrlTitle) />
93 </#if>
94 </#if>
95
96 <a class="pme-navigation-product-link ${activeClass}" href="${linkUrl}">
97 <span>${headline}</span>
98 <img alt="" class="arrow" src="${arrow_icon_src}"/>
99 </a>
100 </#list>
101
102 <#else>
103 <div class="alert alert-info">
104 <@liferay_ui["message"] key="pme-there-are-no-results" />
105 </div>
106 </#if>
107</div>
108
109<#function validateInputValue xPathSelector rootElement>
110 <#if xPathSelector.selectSingleNode(rootElement)?? >
111 <#assign output = xPathSelector.selectSingleNode(rootElement).getStringValue() />
112 <#else>
113 <#assign output ="" />
114 </#if>
115 <#return output />
116</#function>