Ένα σφάλμα εμφανίστηκε κατά την επεξεργασία του προτύπου.
The following has evaluated to null or missing:
==> entry.getAssetRenderer().getArticle [in template "10157#10197#12490368" at line 10, column 50]
----
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 docXml = saxReaderUtil.read(e... [in template "10157#10197#12490368" at line 10, column 13]
----
1<div class="gcss-op">
2 <!-- START GRID -->
3 <div class="gs-grid" style="grid-template-columns: repeat(auto-fill,minmax(250px, 1fr));row-gap:var(--gs-base-spacing-l);">
4
5 <#list entries as entry>
6 <#assign entry = entry />
7 <#assign assetRenderer = entry.getAssetRenderer() />
8 <#assign className = assetRenderer.getClassName() />
9
10 <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) />
11 <#assign rootElement = docXml.getRootElement() />
12 <#assign availableLocales = rootElement.attribute("available-locales").getText() />
13 <#assign defaultLocale = rootElement.attribute("default-locale").getText() />
14
15 <#if (availableLocales?contains(locale)) >
16 <#assign CardID = docXml.valueOf("//dynamic-element[@name='CardID']/dynamic-content[@language-id='"+locale+"']/text()") />
17 <#assign TextSize = docXml.valueOf("//dynamic-element[@name='TextSize']/dynamic-content[@language-id='"+locale+"']/text()") />
18 <#assign CardImage = docXml.valueOf("//dynamic-element[@name='CardImage']/dynamic-content[@language-id='"+locale+"']/text()") />
19 <#assign Badge = docXml.valueOf("//dynamic-element[@name='Badge']/dynamic-content[@language-id='"+locale+"']/text()") />
20 <#assign Title = docXml.valueOf("//dynamic-element[@name='Title']/dynamic-content[@language-id='"+locale+"']/text()") />
21 <#assign TitleType = docXml.valueOf("//dynamic-element[@name='TitleType']/dynamic-content[@language-id='"+locale+"']/text()") />
22 <#assign TitleURL = docXml.valueOf("//dynamic-element[@name='TitleURL']/dynamic-content[@language-id='"+locale+"']/text()") />
23 <#assign SubTitle = docXml.valueOf("//dynamic-element[@name='SubTitle']/dynamic-content[@language-id='"+locale+"']/text()") />
24 <#assign BodyText = docXml.valueOf("//dynamic-element[@name='BodyText']/dynamic-content[@language-id='"+locale+"']/text()") />
25 <#assign Footer = docXml.valueOf("//dynamic-element[@name='Footer']/dynamic-content[@language-id='"+locale+"']/text()") />
26 <#assign FooterContent = docXml.valueOf("//dynamic-element[@name='FooterContent']/dynamic-content[@language-id='"+locale+"']/text()") />
27 <#assign FooterContentAlignment = docXml.valueOf("//dynamic-element[@name='FooterContentAlignment']/dynamic-content[@language-id='"+locale+"']/text()") />
28
29 <#else>
30 <#assign fulllContent = docXml.valueOf("//static-content[@language-id='" + defaultLocale + "']/text()") />
31 <#assign CardID = docXml.valueOf("//dynamic-element[@name='CardID']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
32 <#assign TextSize = docXml.valueOf("//dynamic-element[@name='TextSize']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
33 <#assign CardImage = docXml.valueOf("//dynamic-element[@name='CardImage']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
34 <#assign Badge = docXml.valueOf("//dynamic-element[@name='Badge']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
35 <#assign Title = docXml.valueOf("//dynamic-element[@name='Title']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
36 <#assign TitleType = docXml.valueOf("//dynamic-element[@name='TitleType']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
37 <#assign TitleURL = docXml.valueOf("//dynamic-element[@name='TitleURL']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
38 <#assign SubTitle = docXml.valueOf("//dynamic-element[@name='SubTitle']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
39 <#assign BodyText = docXml.valueOf("//dynamic-element[@name='BodyText']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
40 <#assign Footer = docXml.valueOf("//dynamic-element[@name='Footer']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
41 <#assign FooterContent = docXml.valueOf("//dynamic-element[@name='FooterContent']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
42 <#assign FooterContentAlignment = docXml.valueOf("//dynamic-element[@name='FooterContentAlignment']/dynamic-content[@language-id='"+defaultLocale+"']/text()") />
43 </#if>
44
45 <#assign jsonimg = jsonFactoryUtil.createJSONObject(CardImage)>
46 <#assign urlJsonImg = "/documents/" >
47 <#if CardImage?? && CardImage != "" && jsonimg.groupId?? && jsonimg.groupId != "" >
48 <#assign urlJsonImg = urlJsonImg + jsonimg.groupId >
49 <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.fileEntryId >
50 <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.name >
51 <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.uuid >
52 </#if>
53
54
55
56 <!-- CARD -->
57 <#if (TextSize?? && TextSize != "Option71239415" )>
58 <div id="card-${CardID}" class="gs-card-v3 gs-compact">
59 <#else><div id="card-${CardID}" class="gs-card-v3">
60 </#if>
61
62
63 <!-- top -->
64 <div class="gs-card-top">
65
66 <#if CardImage?? && CardImage != "" >
67 <div class="gs-card-img">
68
69 <#if TitleURL?has_content>
70 <a aria-hidden="true" href="${TitleURL}" tabindex="-1"><img alt="" src="${urlJsonImg}" /></a>
71 <#else><img alt="" src="${urlJsonImg}" />
72 </#if>
73
74 <#if Badge?has_content>
75 <#if TitleURL?has_content>
76 <div class="gs-img-badge"><a aria-hidden="true" href="${TitleURL}" tabindex="-1">${Badge}</a></div>
77 <#else><div class="gs-img-badge">${Badge}</div>
78 </#if>
79
80 </#if>
81 </div>
82 </#if>
83
84 <!-- body -->
85 <div class="gs-card-body">
86
87 <#if (TitleType == "Option06059781")>
88 <p class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></p>
89 </#if>
90 <#if (TitleType == "Option60023604" )>
91 <h2 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h2>
92 </#if>
93 <#if (TitleType == "Option39004431" )>
94 <h3 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h3>
95 </#if>
96 <#if (TitleType == "Option38468523" )>
97 <h4 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h4>
98 </#if>
99 <#if (TitleType == "Option85596771" )>
100 <h5 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h5>
101 </#if>
102 <#if (TitleType == "Option62780052" )>
103 <h6 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h6>
104 </#if>
105
106
107 <#if SubTitle?has_content>
108 <p class="gs-subtitle">${SubTitle}</p>
109 </#if>
110 <#if BodyText?has_content>
111 <p>${BodyText}</p>
112 </#if>
113
114 </div>
115 </div>
116 <!-- footer -->
117 <#if (Footer == "Option18654909" )></#if>
118 <#if (Footer == "Option89122312" )>
119
120 <#if (FooterContentAlignment == "Option45699370" )>
121 <div class="gs-card-footer" style="justify-content:flex-start;">
122 ${FooterContent}
123 </div>
124 </#if>
125 <#if (FooterContentAlignment == "Option86073294" )>
126 <div class="gs-card-footer" style="justify-content:flex-end;">
127 ${FooterContent}
128 <style>
129 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p,
130 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div {
131 justify-content:flex-end;
132 }
133 </style>
134 </div>
135 </#if>
136 <#if (FooterContentAlignment == "Option66955638" )>
137 <div class="gs-card-footer" style="justify-content:center;">
138 ${FooterContent}
139 <style>
140 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p,
141 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div {
142 justify-content:center;
143 }
144 </style>
145 </div>
146 </#if>
147 <#if (FooterContentAlignment == "Option60518108" )>
148 <div class="gs-card-footer">
149 ${FooterContent}
150 <style>
151 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p,
152 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div {
153 width:100%;
154 }
155 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer a,
156 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p a,
157 .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div a {
158 flex: 1;
159 }
160 </style>
161 </div>
162 </#if>
163
164 </#if>
165
166 <!-- END card -->
167 </div>
168
169 </#list>
170
171
172 <!-- END GRID -->
173 </div>
174
175<!-- END CSS global -->
176</div>
Συλλογή ηλεκτρονικών δεδομένων και μεταδεδομένων
Χρησιμοποιούνται στις ηλεκτρονικές δημόσιες συμβάσεις για να τυποποιούν τους καταλόγους κωδικών που χρησιμοποιούνται στον τομέα των δημόσιων συμβάσεων
Οντολογία των ηλεκτρονικών δημόσιων συμβάσεων
Κωδικοποιεί και καθιστά διαθέσιμες σε ανοικτό, δομημένο και μηχαναγνώσιμο μορφότυπο έννοιες που χρησιμοποιούνται στις δημόσιες συμβάσεις