Online tools and applications
Nastala chyba počas spracovávania šablóny.
The following has evaluated to null or missing:
==> assetRenderer.getArticle [in template "10157#10197#9193442" at line 8, column 44]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: #assign article = assetRenderer.getAr... [in template "10157#10197#9193442" at line 8, column 25]
----
1<div class="ap-reference-data-catalogue-container m-0 p-0 row" >
2
3 <#if entries?has_content>
4 <#list entries as curEntry>
5 <#assign curEntry = curEntry />
6 <#assign assetRenderer = curEntry.getAssetRenderer() />
7 <#assign className = assetRenderer.getClassName() />
8 <#assign article = assetRenderer.getArticle() />
9 <#assign docXml = saxReaderUtil.read(curEntry.getAssetRenderer().getArticle().getContent()) />
10
11 <#assign rootElement = docXml.getRootElement() />
12 <#assign availableLocales = rootElement.attribute("available-locales").getText() />
13 <#assign defaultLocale = rootElement.attribute("default-locale").getText() />
14
15 <#if article.isApproved() >
16 <#assign articleId = article.getArticleId() />
17
18 <#assign background = docXml.valueOf("//dynamic-element[@name='Background']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
19 <#assign imageAlt = docXml.valueOf("//dynamic-element[@name='ImageAlt']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
20 <#assign textColor = docXml.valueOf("//dynamic-element[@name='TextColor']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
21
22 <#if (availableLocales?contains(locale)) >
23 <#assign title = docXml.valueOf("//dynamic-element[@name='Title']/dynamic-content[@language-id='"+locale+"']/text()") />
24 <#assign description = docXml.valueOf("//dynamic-element[@name='Description']/dynamic-content[@language-id='"+locale+"']/text()") />
25 <#assign linkLabel = docXml.valueOf("//dynamic-element[@name='LinkLabel']/dynamic-content[@language-id='"+locale+"']/text()") />
26 <#else>
27 <#assign title = docXml.valueOf("//dynamic-element[@name='Title']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
28 <#assign description = docXml.valueOf("//dynamic-element[@name='Description']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
29 <#assign linkLabel = docXml.valueOf("//dynamic-element[@name='LinkLabel']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
30 </#if>
31
32 <#assign linkURL = docXml.valueOf("//dynamic-element[@name='LinkURL']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
33
34 <#assign img = docXml.valueOf("//dynamic-element[@name='Picture']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
35 <#assign jsonimg = jsonFactoryUtil.createJSONObject(img)>
36 <#assign urlJsonImg = "/documents/" >
37 <#assign urlJsonImg = urlJsonImg + jsonimg.groupId >
38 <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.fileEntryId >
39 <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.name >
40 <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.uuid >
41
42 <div class="ap-rdc-euv-container col m-0 p-0">
43 <div class="ap-picture-container">
44 <img src="${urlJsonImg}" class="" alt="Photo of ${title}">
45 </div>
46
47 <div class="ap-rdc-title">
48 <h2>
49 ${title}
50 </h2>
51 </div>
52 <div class="ap-rdc-description">
53 ${description}
54 </div>
55
56 <a class="stretched-link" href="${linkURL}" aria-label="${linkLabel} ${title}"></a>
57 </div>
58
59 </#if>
60
61 </#list>
62 </#if>
63
64</div>
65
66<style>
67@media only screen and (min-width: 768px) {
68 .ap-reference-data-catalogue-container{
69 column-count: 3;
70 column-gap: 30px;
71 float: left;
72 }
73}
74@media only screen and (max-width: 767px) {
75 .ap-reference-data-catalogue-container{
76 display: block;
77 padding: 0 15px !important;
78 }
79 .ap-reference-data-catalogue-container .ap-rdc-euv-container{
80 float: left;
81 flex-basis: 100%;
82 }
83 .ap-reference-data-catalogue-container .ap-rdc-euv-container:not(:last-child){
84 border-bottom: 1px solid #E3E3E3;
85 padding-bottom: 20px !important;
86 margin-bottom: 20px !important;
87 }
88 .layout-class-portal2012-layout-one-column .maincontentarea > .portlet-column,
89 .layout-class-portal2012-layout-one-column .ap-reference-data-catalogue-container{
90 padding: 0 !important;
91 }
92}
93 .ap-reference-data-catalogue-container{
94 margin-bottom: 20px;
95 }
96.ap-reference-data-catalogue-container .ap-picture-container{
97 position: relative;
98 width: 100%;
99 padding-bottom: 67%;
100 height: 0;
101}
102.ap-reference-data-catalogue-container .ap-picture-container img{
103 width: 100%;
104 height: 100%;
105 position: absolute;
106 left: 0;
107}
108.ap-reference-data-catalogue-container .ap-rdc-title h2{
109 font-size: 16px;
110 line-height: 17px;
111 text-transform: uppercase;
112 color: #404040;
113 margin: 15px 0;
114}
115.ap-reference-data-catalogue-container .ap-rdc-description,
116.ap-reference-data-catalogue-container .ap-rdc-description p{
117 font-size: 14px;
118 line-height: 20px;
119 color: #444444;
120 margin-bottom: 0;
121}
122.ap-reference-data-catalogue-container .ap-rdc-learn-more a{
123 font-size: 13px;
124 line-height: 18px;
125 color: #112250;
126 font-weight: bold;
127}
128.ap-reference-data-catalogue-container .ap-rdc-learn-more a{
129 padding-right: 5px;
130}
131.ap-reference-data-catalogue-container .ap-rdc-learn-more a:focus{
132 outline-offset: 5px;
133 outline: 1px solid #5599FF !important;
134}
135.ap-reference-data-catalogue-container .ap-rdc-euv-container:focus-within {
136 outline: 1px solid #5599FF !important;
137 outline-offset: 10px;
138}
139</style>