pttk_testaus
Reissukyyti-sovellus
Matkaile Pohjois-Karjalassa: Reissukyyti-sovellus
Nettisovelluksen avulla tarjoat tai pyydät kyytiä polttoainekustannusten hinnalla. Sovelluksesta löytyy hakua helpottamaan tapahtumien, yritysten ja käyntikohteiden ilmoituksia, jotka on ryhmitelty kansallispuistojen ja kuntien sivuille.
Reissukyyti-sovellus on osa vastuullisen matkailun kehittämishanketta. Hankkeen kohdealueita ovat kansallispuistot ja harvaan asutulla maaseudulla sijaitsevat matkailuyritykset ja tapahtumat.
Klikkaa tästä Reissukyyti-sivulle.
Sisältöjulkaisija
Sisältöjulkaisija
Virhe tapahtui prosessoidessa esitysmallia.
The following has evaluated to null or missing: ==> curEntry.getExpirationDate() [in template "755825#755859#9088100" at line 35, column 57] ---- Tip: If the failing expression is known to be 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: ${curEntry.getExpirationDate()?string... [in template "755825#755859#9088100" at line 35, column 55] ----
1<#setting locale="fi_FI">
2<div class = "eventsPage2020">
3 <#if !entries?has_content>
4 <#if !themeDisplay.isSignedIn()>
5 ${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)}
6 </#if>
7
8 <div class="alert alert-info">
9 <@liferay_ui["message"]
10 key="there-are-no-results"
11 />
12 </div>
13 </#if>
14 <#if entries?has_content>
15 <#list entries as curEntry>
16 <#assign assetRenderer = curEntry.getAssetRenderer() />
17 <div class="pull-right">
18 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
19 <#assign redirectURL = renderResponse.createRenderURL() />
20 ${redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp")}
21 ${redirectURL.setWindowState("pop_up")}
22 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
23 <#if validator.isNotNull(editPortletURL)>
24 <#assign titleEdit = curEntry.getTitle(locale) />
25 <#assign url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "editAsset', title: '" + titleEdit + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});" />
26 <a class="icon-monospaced visible-interaction" href="${url}"><i class="icon-pencil"></i></a>
27 </#if>
28 </#if>
29 </div>
30 <#assign assetRenderer = curEntry.getAssetRenderer() />
31
32 <div class = "eventContainer">
33
34 <div class = "timelabel">
35 <span class="day">${curEntry.getExpirationDate()?string('dd')}</span>
36 <span class="month">${curEntry.getExpirationDate()?string('MMM')}</span>
37 </div>
38
39 <#assign assetRenderer = curEntry.getAssetRenderer() />
40 <#assign className = assetRenderer.getClassName() />
41 <#assign journalArticle = assetRenderer.getArticle() />
42 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale.toString())) />
43 <#assign img = document.valueOf("//dynamic-element[@name='articleThumbnail']/dynamic-content/text()")!"" />
44 <#assign alt = document.valueOf("//dynamic-element[@name='articleThumbnail']/dynamic-content/@alt")!"" />
45 <#if img?has_content >
46 <div class = "nostotImg" role="img" style="background-image: url('${img}')" aria-label="${alt}">
47 <#else>
48 <#if themeDisplay.getScopeGroup().getExpandoBridge().hasAttribute("somedefaultimage")>
49 <#assign someDefaultImage = themeDisplay.getScopeGroup().getExpandoBridge().getAttribute("somedefaultimage")! />
50 <#if someDefaultImage?has_content>
51 <div class = "nostotImg" role="img" style="background-image: url('${someDefaultImage}')" aria-label="${title}">
52 <#else>
53 <div class = "nostotImg" role="img">
54 </#if>
55 <#else>
56 <div class = "nostotImg" role="img">
57 <img src="" alt="Image not defined, define default image to site settings"></img>
58 </div>
59 </#if>
60 </#if>
61 </div>
62 <#assign viewURL = assetPublisherHelper.getAssetViewURL
63 (renderRequest, renderResponse, curEntry) />
64
65 <#if assetLinkBehavior != "showFullContent">
66 <#assign viewURL = assetRenderer.getURLViewInContext
67 (renderRequest, renderResponse, viewURL) />
68 </#if>
69
70 <div class = "title">
71 <a href="${viewURL}">${curEntry.getTitle(locale)}</a>
72 </div>
73 <div class="clear"></div>
74 </div>
75
76 </#list>
77 </#if>
78
79</div>
80<style>
81.eventsPage2020 .eventContainer .timelabel {
82 margin-top: 5px;
83 background-color: #FFF;
84 left: 5px;
85 max-width: 50px;
86 min-width: 50px;
87 max-height: 50px;
88 min-height: 50px;
89 height: 50px;
90 width: 50px;
91 display: inline-block;
92 position: absolute;
93 float: left;
94 text-align: center;
95 padding: 5px;
96 border: 2px solid #001E50;
97}
98.eventsPage2020 .eventContainer .timelabel .day {
99 width: 100%;
100 display: inline-block;
101 font-size: 20px;
102 line-height: 20px;
103 padding-bottom: 0;
104 margin-bottom: 0;
105 color: #001E50;
106 font-family: 'Montserrat';
107 font-weight: bold;
108}
109.eventsPage2020 .eventContainer .timelabel .month {
110 width: 100%;
111 display: block;
112 color: #001E50;
113 font-weight: bold;
114 font-size: 12px;
115 line-height: 12px;
116 padding-top: 0;
117 margin-top: 0;
118 text-transform: uppercase;
119 font-family: 'Montserrat';
120 font-weight: bold;
121}
122.eventsPage2020 .eventContainer .nostotImg {
123 border-radius: 0;
124}
125.eventsPage2020 .eventContainer .title {
126 font-size: 26px;
127 font-family: 'Montserrat';
128 color: #000;
129}
130.eventsPage2020 .eventContainer .title a {
131
132 color: #000;
133}
134.eventsPage2020 .eventContainer .title:hover * {
135 color: #cd3d82;
136 text-decoration: none;
137}
138
139</style>
Yhteystieto Saara Pirhonen

Saara Pirhonen
Ruokapalveluiden esihenkilö, siivouspalveluiden esihenkilö
040 104 6115
saara.pirhonen@polvijarvi.fi
Keskuskeittiö, Polvijärventie 20, 83700 Polvijärvi