Success
Danke !
Ihre Anfrage wurde berücksichtigt. Unsere Experten werden sich schnell bei Ihnen melden.

Fehler bei der Verarbeitung der Vorlage.
Java method "com.sun.proxy.$Proxy113.getFriendlyURLLayout(long, boolean, String)" threw an exception when invoked on com.sun.proxy.$Proxy113 object "com.liferay.portal.service.impl.LayoutLocalServiceImpl@46cb439f"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: authorPage = layoutLocalService.getFr... [in template "20102#20129#1341914" at line 32, column 45] ----
1<#assign local = themeDisplay.getLocale()
2 layouts = themeDisplay.getLayouts()
3 extendedSeq = []
4 finalSeq = []
5 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
6 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
7<!-- Get the tags from the webcontent and create a new sequence with the string -->
8<#assign
9 inputTags = .vars['reserved-article-asset-tag-names'].data
10 inputTagsSeq = inputTags?split(",")>
11<#setting locale= local>
12
13
14<#list layouts as mainpage>
15 <#if mainpage.getFriendlyURL(local) == '/business'>
16 <#list mainpage.getChildren() as homeSubPages>
17 <#if homeSubPages.getFriendlyURL(local) == '/business/blog'>
18 <#list homeSubPages.getChildren() as articlesHomepage>
19 <#if articlesHomepage.getFriendlyURL(local) == '/business/blog/articles'>
20 <#list articlesHomepage.getChildren() as categoryPages>
21 <#list categoryPages.getChildren() as subCategoryPages>
22 <#list subCategoryPages.getChildren() as articleElement>
23 <!-- Get the tag for the target article Page -->
24 <#assign plId = articleElement.getPlid()
25 layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId)
26 assetTags = layoutEntry.getTags()>
27 <#assign
28 tagList = []
29 dateArticle = articleElement.getExpandoBridge().getAttribute('Blog display date from')
30 authorPageUrl = articleElement.getExpandoBridge().getAttribute('Blog author page url')
31 authorTruncatedUrl = "/business" + authorPageUrl?keep_after("/business")
32 authorPage = layoutLocalService.getFriendlyURLLayout(groupId, false, authorTruncatedUrl)
33 authorImage = authorPage.getExpandoBridge().getAttribute('Blog image url')
34 articleImage = articleElement.getExpandoBridge().getAttribute('Blog image url')>
35 <#list assetTags as tag>
36 <#assign tagList += [tag.name]>
37 </#list>
38 <!-- Insert element in the extendedSeq -->
39 <#assign layoutHash = {"tags": tagList,
40 "friendlyUrl": articleElement.friendlyURL, "articleTitle": articleElement.getHTMLTitle(local),
41 "articleDescription": articleElement.getDescription(local),
42 "date": dateArticle?datetime, "authorFriendlyUrl": authorPage.getRegularURL(request),
43 "authorName": authorPage.getHTMLTitle(local),
44 "authorImage": authorImage, "articleImage": articleImage,
45 "categoryName": categoryPages.getHTMLTitle(local),
46 "categoryUrl": categoryPages.getRegularURL(request),
47 "subCategoryName": subCategoryPages.getHTMLTitle(local),
48 "subCategoryUrl": subCategoryPages.getRegularURL(request)}
49 extendedSeq += [layoutHash] />
50 </#list>
51 </#list>
52 </#list>
53 </#if>
54 </#list>
55 </#if>
56 </#list>
57 </#if>
58</#list>
59
60<#list extendedSeq?sort_by("date")?reverse as reversedSeq>
61 <#if finalSeq?size lt 3>
62 <!-- Boolean to get out of the loop and only add once the element to the final sequence-->
63 <#assign tagsFound = false>
64 <#list reversedSeq.tags as tag>
65 <#if tagsFound != true>
66 <#list inputTagsSeq as inputTag>
67 <#if inputTag == tag>
68 <#assign finalSeq += [reversedSeq]
69 tagsFound = true>
70 <#break>
71 </#if>
72 </#list>
73 <#else>
74 <#break>
75 </#if>
76 </#list>
77 <#else>
78 <#break>
79 </#if>
80</#list>
81
82<section class="module module-cards-article" >
83 <div class="container">
84 <div class="row justify-content-center">
85 <div class="col-lg-12">
86 <div class="title-wrapper">
87 <h3 class="bottom-cut">${Title.getData()}</h3>
88 </div>
89
90 <div class="content-list">
91 <div class="row">
92 <#list finalSeq as articles>
93 <div class="col-lg-4">
94 <div class="card card-article card-article-small">
95 <div class="card-wrapper">
96 <div>
97 <div class="card-img-wrapper">
98 <a data-senna-off="true" href="${articles.friendlyUrl}">
99 <img src="${articles.articleImage}" class="img-fluid object-fit" alt="">
100 </a>
101 </div>
102
103 <div class="card-text-wrapper">
104 <div class="badge-wrapper">
105 <a data-senna-off="true" href="${articles.categoryUrl}" class="badge badge-small badge-blue-business ">${articles.categoryName}</a>
106 <a data-senna-off="true" href="${articles.subCategoryUrl}" class="badge badge-small badge-blue-business ">${articles.subCategoryName}</a>
107 </div>
108
109 <h3><a data-senna-off="true" href="${articles.friendlyUrl}">${articles.articleTitle}</a></h3>
110 <p>${articles.articleDescription}</p>
111 </div>
112 </div>
113 <div>
114 <a data-senna-off="true" href="${articles.friendlyUrl}" class="btn btn-link"
115 <#if LinkLabel.LinkAriaLabel?? &&
116 LinkLabel.LinkAriaLabel?has_content &&
117 LinkLabel.LinkAriaLabel.getData()?has_content>
118 aria-label="${LinkLabel.LinkAriaLabel.getData()}"</#if>>
119 ${LinkLabel.getData()} <i class="icon-chevron-right"></i>
120 </a>
121
122 <#if articles.authorImage?? && articles.authorImage?has_content
123 && articles.authorName?? && articles.authorName?has_content
124 && articles.date?? && articles.date?has_content
125 && articles.articleImage?? && articles.articleImage?has_content>
126 <div class="card-details-wrapper">
127 <div class="author">
128 <div class="author-img-wrapper">
129 <img src="${articles.authorImage}" class="img-fluid object-fit" alt="">
130 </div>
131 <div>
132 <p class="title">${AuthorLabel.getData()}</p>
133 <a data-senna-off="true" href="${articles.authorFriendlyUrl}"
134 class="value stretched-link"
135 <#if AuthorLabel.AuthorAriaLabel?? &&
136 AuthorLabel.AuthorAriaLabel?has_content &&
137 AuthorLabel.AuthorAriaLabel.getData()?has_content>
138 aria-label="${AuthorLabel.AuthorAriaLabel.getData()} ${articles.authorName}"</#if>>
139 ${articles.authorName}
140 </a>
141 </div>
142 </div>
143 <div class="date">
144 <p class="title">${PublicationLabel.getData()}</p>
145 <p class="value">${articles.date?string["dd MMMM yyyy"]}</p>
146 </div>
147 </div>
148 </#if>
149 </div>
150 </div>
151 </div>
152 </div>
153 </#list>
154 </div>
155 </div>
156 </div>
157 </div>
158 </div>
159</section>
Haben Sie weitere Fragen?
Kontaktieren Sie uns kostenlos unter 8002 4000 oder +352 2424 8004 von Montag bis Freitag von 8:00 bis 18:00 Uhr.