Asset-Herausgeber

NEO-Ei Malwettbewerb

Auf Motivsuche für das Norderstedt Osterei

Der Lions Club Norderstedt hat bereits 2 Serien je 4 Motive für die beliebte Osterei-Lotterie innerhalb von 8 Jahren auf den Markt gebracht. Insgesamt wurden bislang 26.500 der bekannten "NEO-Eier" verkauft. 

Eine neue Serie startet. Welche Motive sollen wir nehmen?  Die Ostereier sollen einen Bezug zu Norderstedt herstellen, sie sollen attraktive sein und die Norderstedter sollen sie lieben uns sammeln! 

Eine Idee wird geboren. Wir veranstalten einen Malwettbewerb für Norderstedter Schülerinne und Schüler. Die erste Schule, die angesprochen wird ist sofort begeistert von der Idee. Das Konzept passt zur Gemeinschaftsschule Harksheide. Der Schulleiter Herr Bülck und die Kunstlehrerin sind begeistert. 

Nach mehreren Wochen liegen den Mitgliedern des Lions Clubs über 40 Vorlagen für das nächste NEO-Ei vor. Die Auswahl ist schwierig, denn alle eingereichten Arbeiten sind es wert, für das nächste Ei als Vorlage zu dienen. Schließlich entschließen sich die Mitglieder, zwei Motive für das NEO-EI 2024 zu übernehmen. Nun gibt es das beliebte Norderstedter Osterei in zwei Varianten: 

Siegermotive der 
 

Das war bereits im Frühjahr 2023, denn die Ostereier müssen für die Produktion vorbereitet werden, Probexemplare werden geliefert und korrigiert. Die Lieferung erfolgt dann Monate später. Inzwischen haben die Mitglieder des Lions Clubs alle weiteren Vorarbeiten geleistet: Die Partner werden angesprochen und über 200 attraktive Gewinne sind das Ergebnis. Werbematerialien werden erstellt, die Lotterie wird bei der Stadt Norderstedt angemeldet und Verkaufsstellen werden akquiriert. 

Endlich beginnt der Verkauf! Nun ist es an der Zeit, sich für die tollen Arbeiten bei den Schülern zu bedanken. 
 

 

Asset-Herausgeber

Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> httpUtil.setParameter  [in template "10154#10194#46568" at line 131, column 57]

----
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 viewFullContentURLString = ht...  [in template "10154#10194#46568" at line 131, column 21]
----
1<div class="assets asset-theme-2"> 
2    <#assign jsonFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] /> 
3    <#assign temp_counter = 0> 
4    <#assign index_counter = 0> 
5    <#if entries?has_content> 
6        <#list entries as entry> 
7            <#assign 
8            entry = entry 
9 
10            assetRenderer = entry.getAssetRenderer() 
11 
12            entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
13 
14            viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) 
15            /> 
16 
17            <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) /> 
18            <#assign untertitel = docXml.valueOf("//dynamic-element[@name='Untertitel']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") /> 
19            <#assign teaser_text = docXml.valueOf("//dynamic-element[@name='Teaser_Text']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") /> 
20            <#assign artikel_text = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") /> 
21            <#assign bildJson = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bild']/dynamic-content[@language-id='${locale}']/text()") /> 
22            <#assign alternativtext_bild = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Alternativtext_Bild']/dynamic-content[@language-id='${locale}']/text()") /> 
23            <#assign bildtext = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bildtext']/dynamic-content[@language-id='${locale}']/text()") /> 
24            <#assign bildausrichtung = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bildausrichtung']/dynamic-content[@language-id='${locale}']/text()") /> 
25            <#assign lightbox_anzeigen = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='lightbox_anzeigen']/dynamic-content[@language-id='${locale}']/text()") /> 
26 
27        <#-- Start Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
28            <#assign pdfDocumentJson = docXml.valueOf("//dynamic-element[@name='pdfDocument']/dynamic-content[@language-id='${locale}']/text()") /> 
29 
30        <#-- Get image path --> 
31            <#if pdfDocumentJson?has_content> 
32                <#assign 
33                pdfDocumentJson = jsonFactoryUtil.looseDeserialize(pdfDocumentJson) 
34                pdfDocument = "/documents/" + pdfDocumentJson.groupId + "/" + pdfDocumentJson.uuid + "?documentThumbnail=1" 
35                /> 
36            <#else> 
37                <#assign pdfDocument = "" /> 
38            </#if> 
39        <#-- Ende Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
40 
41            <#assign temp_counter = temp_counter + 1> 
42            <#assign index_counter = index_counter + 1> 
43 
44        <#-- Get image path --> 
45            <#if bildJson?has_content> 
46                <#assign 
47                bildJson = jsonFactoryUtil.looseDeserialize(bildJson) 
48                bild = "/documents/" + bildJson.groupId + "/" + bildJson.uuid + "?imageThumbnail=1" 
49                /> 
50            <#else> 
51                <#assign bild = "" /> 
52            </#if> 
53 
54        <#-- OPEN ROW --> 
55            <#if temp_counter == 1> 
56                <div class="asset_news_row"> 
57            </#if> 
58 
59            <div class="asset asset_news"> 
60 
61                <#-- Start Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
62                <a href="${viewURL}"> 
63                    <#-- Ende Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
64 
65                    <#if bild?has_content> 
66                        <#if bildausrichtung = "left"> 
67                            <div class="asset_image left"> 
68                                <img src="${bild}" alt="${alternativtext_bild}" title="${alternativtext_bild}" /> 
69                            </div> 
70                        </#if> 
71                        <#if bildausrichtung = "right"> 
72                            <div class="asset_image right"> 
73                                <img src="${bild}" alt="${alternativtext_bild}" title="${alternativtext_bild}" /> 
74                            </div> 
75                        </#if> 
76                    <#-- Start Ergänzung Gaul 19.04.2020 zur Anzeige von PDFs --> 
77                    <#else> 
78                        <#if pdfDocument?has_content> 
79                            <div class="asset_image left"> 
80                                <img src="${pdfDocument}&documentThumbnail=1" style="border: 1px solid grey;"  /> 
81                            </div> 
82                        </#if> 
83 
84                    <#-- Ende Ergänzung Gaul 19.04.2020 zur Anzeige von PDFs --> 
85                    </#if> 
86 
87                    <#-- Start Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
88                </a> 
89                <#-- Ende Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
90 
91                <div class="asset_text"> 
92                    <h4 class="asset_headline"><#if Untertitel??><#if untertitel?has_content><span class="asset_subheadline">${untertitel}</span></#if></#if>${entry.getTitle(locale)}</h4> 
93 
94                    <#assign teaser_text_length = teaser_text?length> 
95                    <#assign artikel_text_length = artikel_text?length> 
96                    <#assign maxLength = 300> 
97 
98                    <#if teaser_text?has_content> 
99                        <#if teaser_text_length < maxLength> 
100                            <div class="text">${teaser_text}</div> 
101                        <#else> 
102                            <div class="text">${teaser_text?substring(0,maxLength-1)}...</div> 
103                        </#if> 
104                    <#else> 
105                        <#if artikel_text_length < maxLength> 
106                            <div class="text">${artikel_text}</div> 
107                        <#else> 
108                            <div class="text">${artikel_text?substring(0,maxLength-1)}...</div> 
109                        </#if> 
110                    </#if> 
111 
112                    <#assign viewInContext = false> 
113 
114                    <#if assetLinkBehavior == "viewInPortlet"> 
115                        <#assign viewInContext = true> 
116                    </#if> 
117 
118 
119                    <#assign viewFullContentURL = renderResponse.createRenderURL()> 
120                    ${viewFullContentURL.setParameter("struts_action", "/asset_publisher/view_content")} 
121                    ${viewFullContentURL.setParameter("assetEntryId", entry.getEntryId()?string)} 
122                    ${viewFullContentURL.setParameter("type", entry.getAssetRendererFactory().getType())} 
123                    <#assign assetRenderer = entry.getAssetRenderer()> 
124                    <#if validator.isNotNull(assetRenderer.getUrlTitle())> 
125                        <#if assetRenderer.getGroupId() != scopeGroupId> 
126                            ${viewFullContentURL.setParameter("groupId", assetRenderer.getGroupId()?string)} 
127                        </#if> 
128                        ${viewFullContentURL.setParameter("urlTitle", assetRenderer.getUrlTitle())} 
129                    </#if> 
130                    <#assign viewFullContentURLString = viewFullContentURL?string> 
131                    <#assign viewFullContentURLString = httpUtil.setParameter(viewFullContentURLString, "redirect", currentURL)> 
132                    ${request.setAttribute("view.jsp-showIconLabel", false)} 
133 
134                    <a class="anc_more" data-senna-off="true" href="${viewURL}"><@liferay.language key="read-more" /></a> 
135 
136                </div> 
137                <div class="clear"></div> 
138            </div> 
139 
140 
141        <#-- CLOSE ROW --> 
142            <#if temp_counter == 3 || index_counter == entries?size> 
143                </div> 
144                <#assign temp_counter = 0> 
145            </#if> 
146 
147        </#list> 
148    </#if> 
149</div>