FAQ - Häufig gestellte Fragen und Antworten
Filtern nach
An error occurred while processing the template.
The following has evaluated to null or missing:
==> curEntry.getAssetRenderer() [in template "20101#20128#35374" at line 12, column 25]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: assetRenderer = curEntry.getAssetRend... [in template "20101#20128#35374" at line 12, column 9]
----
1<style>
2 .taglib-categorization-filter {
3 display: none;
4 }
5</style>
6
7<div class="accordion valiant-faq">
8 <#if entries?has_content>
9 <div class="tabs">
10 <#list entries as curEntry>
11 <#assign
12 assetRenderer = curEntry.getAssetRenderer()
13 article = assetRenderer.getArticle()
14 title = assetRenderer.getTitle(locale)
15 categoryIds = curEntry.getCategoryIds()
16 />
17
18 <#function hasCategory>
19 <#if renderRequest.getParameter("categoryId")??>
20 <#local curCategoryId = renderRequest.getParameter("categoryId")>
21 <#list categoryIds as categoryId>
22 <#if ("" + categoryId) == curCategoryId>
23 <#return true>
24 </#if>
25 </#list>
26 <#return false>
27 <#else>
28 <#return true>
29 </#if>
30 </#function>
31
32 <#if hasCategory() && title?has_content>
33 <@liferay_journal["journal-article"]
34 articleId=article.getArticleId()
35 groupId=article.getGroupId()
36 />
37 </#if>
38
39 <script>
40 // Collapse/expand accordion
41 {
42 const articleId = '${article.getArticleId()}';
43 const checkbox = document.getElementById("checkbox-" + articleId);
44 const content = document.querySelector("#article-" + articleId + " .tab-content");
45 if (checkbox) {
46 checkbox.addEventListener("change", function() {
47 if (this.checked) {
48 content.style.maxHeight = (content.scrollHeight + 32) + "px";
49 } else {
50 content.style.maxHeight = "0";
51 }
52 });
53 }
54 }
55 </script>
56 </#list>
57 </div>
58 </#if>
59</div>
60
61<script>
62 var articleId = getCurrentArticleId();
63 if (articleId) {
64 setTimeout(function() {
65 const checkbox = document.getElementById("checkbox-" + articleId);
66 if (checkbox) checkbox.checked = true;
67 const tabContent = document.querySelector("#article-" + articleId + " .tab-content");
68 if (tabContent) tabContent.style.maxHeight = (content.scrollHeight + 32) + "px";
69 const article = document.getElementById("article-" + articleId);
70 if (article) article.scrollIntoView({ behavior: "smooth", block: "center" });
71 }, 250);
72 }
73
74 function getCurrentArticleId() {
75 const url_string = window.location.href;
76 const url = new URL(url_string);
77 return url.searchParams.get("articleId");
78 }
79</script>