Ursäkta röran - vi bygger om!
På Kramfors bibliotek byter vi just nu ut våra bokhyllor samt att vi kommer att utföra vissa renoveringar, vilket kan upplevas som rörigt för dig som besökare.
The string doesn't match the expected date/time/date-time format. The string to parse was: "". The expected format was: "yyyy-MM-dd". The nested reason given follows: Unparseable date: "" ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign eventDate = eventDate?date("y... [in template "15764467#15764501#15765344" in macro "getLocalization" at line 141, column 13] - Reached through: @getLocalization id="eventDate" [in template "15764467#15764501#15765344" at line 20, column 21] ----
1<#assign SiteGroup = themeDisplay.getSiteGroup() />
2<#assign displayUrl = SiteGroup.getDisplayURL(themeDisplay) />
3<#assign currentUrl = themeDisplay.getLayout().getFriendlyURL()?remove_beginning("/") />
4
5<div class="calendar-list-container">
6 <ul class="calendar-list">
7 <#if entries?has_content>
8 <#list entries as curEntry>
9 <#assign renderer = curEntry.getAssetRenderer() />
10 <#assign className = renderer.getClassName() >
11 <#if className == "com.liferay.journal.model.JournalArticle">
12 <#assign article = renderer.getArticle() >
13 <#assign img = article.getSmallImageURL() >
14 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) />
15 <#assign viewURL = renderer.getURLViewInContext(renderRequest, renderResponse, viewURL ) />
16 <#assign docXml = saxReaderUtil.read(article.getContentByLocale(locale)) />
17 <#assign title = renderer.getTitle(locale) />
18 <#assign eventsTitle = renderer.getTitle(locale) />
19 <#assign eventDate = docXml.valueOf("//dynamic-element[@name='eventDate']/dynamic-content/text()")/>
20 <@getLocalization id="eventDate" />
21 <#assign eventEndDate = docXml.valueOf("//dynamic-element[@name='eventEndDate']/dynamic-content/text()")/>
22 <#assign eventTime = docXml.valueOf("//dynamic-element[@name='eventTime']/dynamic-content/text()") />
23 <#assign eventLocation = docXml.valueOf("//dynamic-element[@name='eventLocation']/dynamic-content/text()") />
24 <#assign documentsAndMediaImage = docXml.valueOf("//dynamic-element[@name='documentsAndMediaImage']/dynamic-content/text()") />
25 <#assign eventImgAlt = docXml.valueOf("//dynamic-element[@name='eventImgAlt']/dynamic-content/text()") />
26
27 <li class="entry">
28 <div class="lfr-meta-actions asset-actions clearfix"><@getEditIcon /></div>
29 <a href="${viewURL}">
30 <#if (documentsAndMediaImage!= "") && (eventImgAlt !="")>
31 <div class="calendar-image">
32 <img src="${documentsAndMediaImage}" alt="${eventImgAlt}"/>
33 </div>
34 <#elseif documentsAndMediaImage != "">
35 <div class="calendar-image">
36 <img src="${documentsAndMediaImage}" alt="${title}"/>
37 </div>
38 </#if>
39 <div class="calendar-inner-wrapper">
40 <h3 class="calendar-title">${eventsTitle}</h3>
41 <div class="calendar-date">
42 <span class="visually-hidden"><@getLocalization id="event_start_date" /></span>
43 <span>${eventDate}</span>
44 <#if eventEndDate?? && eventEndDate !="">
45 <@getLocalization id = "eventEndDate" />
46 <span class="end-date">
47 <span class="visually-hidden"><@getLocalization id="event_end_date" /></span>
48 <span> - ${eventEndDate}</span>
49 </span>
50 </#if>
51 </div>
52 <div class="calendar-time">
53 <span class="visually-hidden"><@getLocalization id="event_time" /></span>
54 <#if eventTime?? && eventTime !="">
55 ${eventTime}
56 </#if>
57 </div>
58 <div class="calendar-location">
59 <span class="visually-hidden"><@getLocalization id="event_location" /></span>
60 <#if eventLocation?? && eventLocation !="">
61 ${eventLocation}
62 </#if>
63 </div>
64 </div>
65 </a>
66 </li>
67 </#if>
68 </#list>
69 </#if>
70 </ul>
71 <@getLocalization id="events_all_link" />
72 <#if currentUrl?contains(eventsAllLink)>
73 <#else>
74 <div class="events-all">
75 <a class="events-all-link" href="${displayUrl}/${eventsAllLink}"><@getLocalization id="show_all" /></a>
76 </div>
77 </#if>
78</div>
79<#macro getLocalization id>
80 <#if locale == "fi_FI">
81 <#setting date_format = "yyyy-MM-dd">
82 <#if id == "event_location">
83 Paikka
84 <#elseif id == "event_address">
85 Osoite
86 <#elseif id == "event_start_time">
87 Päivä
88 <#elseif id == "event_end_time">
89 Lopetuspäivämäärä
90 <#elseif id == "event_day">
91 Päivä
92 <#elseif id == "event_time">
93 Aika
94 <#elseif id == "eventDate">
95 <#assign eventDate = eventDate?date("yyyy-MM-dd")?date />
96 <#elseif id == "eventEndDate">
97 <#assign eventEndDate = eventEndDate?date("yyyy-MM-dd")?date />
98 <#elseif id == "events_all_link">
99 <#assign eventsAllLink = "evenemang" />
100 <#elseif id == "show_all">
101 Näytä kaikki tapahtumat
102 </#if>
103 <#elseif locale == "sv_SE">
104 <#setting date_format = "yyyy-MM-dd">
105 <#if id == "event_location">
106 Plats
107 <#elseif id == "event_address">
108 Adress
109 <#elseif id == "event_start_date">
110 Startdatum
111 <#elseif id == "event_end_date">
112 Slutdatum
113 <#elseif id == "event_day">
114 Datum
115 <#elseif id == "event_time">
116 Tid
117 <#elseif id == "eventDate">
118 <#assign eventDate = eventDate?date("yyyy-MM-dd")?date />
119 <#elseif id == "eventEndDate">
120 <#assign eventEndDate = eventEndDate?date("yyyy-MM-dd")?date />
121 <#elseif id == "events_all_link">
122 <#assign eventsAllLink = "evenemang" />
123 <#elseif id == "show_all">
124 Visa alla evenemang
125 </#if>
126 <#elseif locale == "nb_NO">
127 <#setting date_format = "yyyy-MM-dd">
128 <#if id == "event_location">
129 Sted
130 <#elseif id == "event_address">
131 Adresse
132 <#elseif id == "event_start_date">
133 Startdato
134 <#elseif id == "event_end_date">
135 Sluttdato
136 <#elseif id == "event_day">
137 Dato
138 <#elseif id == "event_time">
139 Tidspunkt
140 <#elseif id == "eventDate">
141 <#assign eventDate = eventDate?date("yyyy-MM-dd")?date />
142 <#elseif id == "eventEndDate">
143 <#assign eventEndDate = eventEndDate?date("yyyy-MM-dd")?date />
144 <#elseif id == "events_all_link">
145 <#assign eventsAllLink = "evenemang" />
146 <#elseif id == "show_all">
147 Vis alle arrangementer
148 </#if>
149 <#elseif locale == "en_GB">
150 <#setting date_format = "MM/dd/yyyy">
151 <#if id == "event_location">
152 Place
153 <#elseif id == "event_address">
154 Address
155 <#elseif id == "event_start_date">
156 Date
157 <#elseif id == "event_end_date">
158 End date
159 <#elseif id == "event_day">
160 Date
161 <#elseif id == "event_time">
162 Time
163 <#elseif id == "eventDate">
164 <#assign eventDate = eventDate?date("yyyy-MM-dd")?date />
165 <#elseif id == "eventEndDate">
166 <#assign eventEndDate = eventEndDate?date("yyyy-MM-dd")?date />
167 <#elseif id == "events_all_link">
168 <#assign eventsAllLink = "events" />
169 <#elseif id == "show_all">
170 Show all events
171 </#if>
172 <#elseif locale == "de_DE">
173 <#setting date_format = "dd.MM.yyyy">
174 <#if id == "event_location">
175 Bibliothek
176 <#elseif id == "event_address">
177 Adresse
178 <#elseif id == "event_start_date">
179 Datum
180 <#elseif id == "event_end_date">
181 Endtermin
182 <#elseif id == "event_day">
183 Datum
184 <#elseif id == "event_time">
185 Zeit
186 <#elseif id == "eventDate">
187 <#assign eventDate = eventDate?date("yyyy-MM-dd")?date />
188 <#elseif id == "eventEndDate">
189 <#assign eventEndDate = eventEndDate?date("yyyy-MM-dd")?date />
190 <#elseif id == "events_all_link">
191 <#assign eventsAllLink = "veranstaltungen" />
192 <#elseif id == "show_all">
193 Alle Veranstaltungen anzeigen
194 </#if>
195 <#else>
196 <#setting date_format = "MM/dd/yyyy">
197 <#if id == "event_location">
198 Place
199 <#elseif id == "event_address">
200 Address
201 <#elseif id == "event_start_date">
202 Start date
203 <#elseif id == "event_end_date">
204 End date
205 <#elseif id == "event_day">
206 Date
207 <#elseif id == "event_time">
208 Time
209 <#elseif id == "eventDate">
210 <#assign eventDate = eventDate?date("yyyy-MM-dd")?date />
211 <#elseif id == "eventEndDate">
212 <#assign eventEndDate = eventEndDate?date("yyyy-MM-dd")?date />
213 <#elseif id == "events_all_link">
214 <#assign eventsAllLink = "events" />
215 <#elseif id == "show_all">
216 Show all events
217 </#if>
218 </#if>
219</#macro>
220
221<#macro getEditIcon>
222 <#if renderer.hasEditPermission(themeDisplay.getPermissionChecker())>
223 <#assign redirectURL = renderResponse.createRenderURL() />
224
225 ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")}
226 ${redirectURL.setWindowState("pop_up")}
227
228 <#assign editPortletURL = renderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL) />
229
230 <#if validator.isNotNull(editPortletURL)>
231 <#assign title = languageUtil.format(locale, "edit-x", htmlUtil.escape(renderer.getTitle(locale))) />
232
233 <@liferay_ui["icon"]
234 <#--image="edit"-->
235 iconCssClass="icon-edit"
236 message=title
237 url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
238 />
239 </#if>
240 </#if>
241</#macro>
På Kramfors bibliotek byter vi just nu ut våra bokhyllor samt att vi kommer att utföra vissa renoveringar, vilket kan upplevas som rörigt för dig som besökare.
Vill du låna från Bokbussen? Läs mer om vårens turlistor här.
Bokstart är en nationell satsning som vänder sig till föräldrar och vuxna i små barns (0-3 år) närhet, med syfte att tidigt stimulera språkutveckling.