1<#assign date = .vars['reserved-article-display-date'].data
2 author = .vars['reserved-article-author-name'].data
3 journalArticleId = .vars['reserved-article-id'].data
4/>
5
6<#--<#assign date = date?datetime["EEE, dd MMM yyyy HH:mm:ss Z"]/>-->
7
8<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] >
9<#assign JournalArticleLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleLocalServiceUtil"] >
10<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] >
11<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]>
12<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
13<#assign assetPublisherHelper = staticUtil["com.liferay.asset.publisher.web.util.AssetPublisherHelper"]>
14<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
15<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) >
16
17
18<#assign article = JournalArticleLocalServiceUtil.getArticle(groupId, journalArticleId) />
19
20
21<div class="news-detail">
22 <#if Image.getData()?? && Image.getData() != "">
23 <div class="image">
24 <img alt="${Image.getAttribute("alt")}" data-fileentryid="${Image.getAttribute("fileEntryId")}" src="${Image.getData()}" />
25 </div>
26 </#if>
27 <h2>${Title.getData()}</h2>
28 <ul class="entry-data list-unstyled">
29 <li class="user">
30 <span class="iconify" data-icon="simple-line-icons:user" data-inline="true"></span>
31 ${author}
32 </li>
33 <li class="sep">-</li>
34 <li class="date">
35 <span class="iconify" data-icon="ant-design:clock-circle-outline" data-inline="true"></span>
36 ${article.displayDate?string["MMM"]}
37 ${article.displayDate?string["dd"]},
38 ${article.displayDate?string["yyyy"]}
39
40 </li>
41 <li class="sep">-</li>
42 <li class="categories">
43 <span class="iconify" data-icon="feather:folder" data-inline="true"></span>
44 <#list categoryList as categoryList>
45 ${categoryList.getName()}
46 <span class="cat-sep"> | </span>
47 </#list>
48 </li>
49 </ul>
50 <div class="content">
51 ${Text.getData()}
52 </div>
53
54 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
55 <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
56 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
57
58 <#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
59 <#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
60 <#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
61 <#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
62 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
63
64 <div class="related-contents">
65 <h3><span class="icon-chevron-right"></span><@liferay.language key="messer.news.related" /></h3>
66 <div class="row">
67 <#list currentArticleRelatedLinks as related_entry>
68 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
69 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
70 <#--<#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
71 <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
72 <#assign relatedArticleId = relatedArticle.getArticleId() />-->
73 <div class="col-12 col-sm-6 col-md-4">
74 <#assign
75 assetRenderer = relatedAssetEntry.getAssetRenderer()
76 entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
77 viewURL = assetRenderer.getUrlTitle()
78 />
79
80 <div class="news-entry">
81 <#assign fields = assetRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues() />
82 <#list fields as field>
83 <#if field.getName() == "Title">
84 <#assign title = field.getValue().getString(locale)>
85 </#if>
86 <#if field.getName() == "Summary">
87 <#assign summary = field.getValue().getString(locale)>
88 </#if>
89 <#if field.getName() == "Image">
90 <#assign image = getDocumentURL(field)>
91 </#if>
92 </#list>
93 <div class="image aspect-ratio aspect-ratio-3-to-2" style="background-image:url(${image})"> </div>
94 <h4 class="title">
95 <a class="title-link" href="${viewURL}">
96 ${title}
97 </a>
98 </h4>
99 <div class="entry-data">
100 <span class="date">
101 <span class="iconify" data-icon="ant-design:clock-circle-outline" data-inline="true"></span>
102 ${assetRenderer.displayDate?string["MMM"]}
103 ${assetRenderer.displayDate?string["dd"]},
104 ${assetRenderer.displayDate?string["yyyy"]}
105 </span>
106 </div>
107 </div>
108 </div>
109
110 </#list>
111 </div>
112 </div>
113</div>
114
115<#function getDocumentURL field>
116 <#assign imageJson = field.getValue().getString(locale)>
117 <#if imageJson?has_content>
118 <#assign imageJson = jsonFactoryUtil.createJSONObject(imageJson)
119 uuid = imageJson.uuid
120 groupId = imageJson.groupId
121 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number)
122 smallImage = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')
123 />
124 <#return smallImage>
125 </#if>
126 <#return ''>
127</#function>