1<#assign fileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
2<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
3<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
4<#assign currentPageUrl = themeDisplay.getURLCurrent() />
5<#assign urlWithoutPrefix = currentPageUrl?substring(9) />
6
7<section class="ax-mb-100">
8 <div class="container product-category-list">
9 <div class="row">
10 <#if entries?has_content>
11 <#list entries as curEntry>
12 <#assign
13 assetRenderer = curEntry.getAssetRenderer()
14 journalArticle = assetRenderer.getAssetObject()
15 document = saxReaderUtil.read(journalArticle.getContent())
16 rootElement = document.getRootElement()
17 title = ""
18 description = ""
19 pageUrl = ""
20 imageUrl = "" />
21
22 <#list rootElement.elements() as dynamicElement>
23 <#if "title" == dynamicElement.attributeValue("field-reference")>
24 <#assign title = dynamicElement.element("dynamic-content").getData() />
25 </#if>
26 <#if "subTitle" == dynamicElement.attributeValue("field-reference")>
27 <#assign subTitle = dynamicElement.element("dynamic-content").getData() />
28 </#if>
29
30 <#if "description" == dynamicElement.attributeValue("field-reference")>
31 <#assign description = dynamicElement.element("dynamic-content").getData() />
32 </#if>
33
34 <#if "image" == dynamicElement.attributeValue("field-reference")>
35 <#assign imageEntryId = dynamicElement.element("dynamic-content").getData() />
36 <#assign jsonObject = jsonFactoryUtil.createJSONObject(imageEntryId) />
37 <#assign imageUrl = jsonObject.getString("url") />
38</#if>
39
40
41 <#if "learnMore" == dynamicElement.attributeValue("field-reference")>
42 <#assign linkToPage = dynamicElement.element("dynamic-content").getData() />
43 <#if linkToPage?has_content>
44 <#assign linkToPageJson = linkToPage?eval />
45 </#if>
46 <#if linkToPageJson?has_content>
47 <#assign groupId = linkToPageJson.groupId>
48 <#assign layoutId = linkToPageJson.layoutId>
49 <#assign layoutIdLong = getterUtil.getLong(layoutId)>
50 <#assign groupIdLong = getterUtil.getLong(groupId)>
51 <#assign group = groupLocalService.fetchGroup(groupIdLong)>
52 <#assign siteName = group.getFriendlyURL()>
53 <#assign isPrivate = false>
54 <#assign layout = layoutLocalService.fetchLayout(groupIdLong, isPrivate, layoutIdLong)!>
55 <#if layout?has_content>
56 <#assign layoutFriendlyUrl = layout.getFriendlyURL()>
57 <#assign layoutPrefix = "web">
58 <#assign pageUrl = "/${layoutPrefix}${siteName}${layoutFriendlyUrl}">
59 </#if>
60 </#if>
61 </#if>
62
63 <#if "urlRedirection" == dynamicElement.attributeValue("field-reference")>
64 <#assign urlRedirection = dynamicElement.element("dynamic-content").getData() />
65 </#if>
66 </#list>
67
68 <#assign cleanPageUrl = pageUrl?replace("#.*", "")?replace("\\?.*", "") />
69
70 <#assign finalPageUrl = "" />
71 <#if cleanPageUrl?has_content>
72 <#assign finalPageUrl = cleanPageUrl />
73 <#elseif urlRedirection?has_content>
74 <#assign finalPageUrl = urlRedirection />
75
76 <#else>
77 <#assign finalPageUrl = "" />
78 </#if>
79
80 <div class="col-md-6 col-lg-4 filter-card">
81 <div class="ax-industry-card">
82 <div class="ax-industry-img">
83 <#if imageUrl?has_content>
84 <img src="${imageUrl}" alt="Image" />
85
86 </#if>
87 </div>
88 <div class="ax-industry-details">
89 <h4>${title}</h4>
90 <#if subTitle?has_content>
91 <strong class="ax-semi-bold">${subTitle}</strong>
92 </#if>
93
94 <p>${description}</p>
95 <#if finalPageUrl?has_content>
96 <a href="${finalPageUrl}" class="btn primary-btn next-link" title="Learn More">
97 LEARN MORE <i class="fas fa-arrow-right-long ml-2"></i>
98 </a>
99 </#if>
100 </div>
101 </div>
102 </div>
103 </#list>
104 </#if>
105 </div>
106
107 <div id="no-results-message" class="d-none text-center">
108 <p>No Results Found</p>
109 </div>
110 </div>
111</section>
112
113<script>
114 function handleFilterChange() {
115 $(".filter-card").show();
116 $("#no-results-message").addClass("d-none");
117 }
118
119 $(document).ready(function () {
120 handleFilterChange();
121 });
122</script>