Tiskové zprávy 2018
Při zpracování šablony došlo k chybě.
Java method "com.liferay.portal.json.JSONFactoryImpl.createJSONObject(String)" threw an exception when invoked on com.liferay.portal.json.JSONFactoryImpl object "com.liferay.portal.json.JSONFactoryImpl@2f65124c"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: imageUUID = jsonFactoryUtil.createJSO... [in template "20115#20151#545461" at line 84, column 41] ----
1<style>
2.asseco-theme.body__wrapper a.list-type-switch-item {
3 text-decoration: none;
4}
5</style>
6
7<#assign
8 LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")
9
10 baseUrl = themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getScopeGroup().getFriendlyURL()
11 layoutUrl = layout.getFriendlyURL(locale)
12
13 layouts = LayoutLocalService.getLayouts(themeDisplay.getScopeGroupId(), false, layout.getLayoutId())
14/>
15
16<#if layoutUrl == "/tiskove-zpravy-mpsv">
17 <div class="box__inner">
18 <div class="row">
19 <div class="col-xs-12 col-sm-7 col-md-6">
20 <h1 class="before-perex">Tiskové zprávy</h1>
21 </div>
22 <div class="col-xs-12 col-sm-5 col-md-6 mt-a-5">
23 <div class="dropdown-label">Filtrování dle roku</div>
24 <div class="dropdown">
25 <button class="dropdown__selected" title="Dropdown" aria-haspopup="true" aria-expanded="true" tabindex="0">
26 <span>Vyberte ze seznamu...</span>
27 </button>
28 <ul class="dropdown__menu" role="menu" aria-hidden="false">
29 <#list layouts as layout>
30 <#assign
31 layoutUrl = layout.getFriendlyURL(locale)
32 layoutName = layout.getName(locale)
33 />
34 <li class="dropdown__item" role="presentation">
35 <a href="${baseUrl}${layoutUrl}" class="dropdown__link" role="menuitem" title="${layoutName}">
36 <span>${layoutName}</span>
37 </a>
38 </li>
39 </#list>
40 </ul>
41 </div>
42 </div>
43 </div>
44 </div>
45 <hr>
46</#if>
47<div class="box__block news-block">
48 <div class="row">
49 <div class="col-xs-12">
50 <div class="list-type-switch">
51 <a href="javascript:changeToDlazdice()" id="dlazdice-link" class="list-type-switch-item active" aria-label="Dlaždice">
52 <span class="mpsv-icons-view-module"></span>
53 </a>
54 <a href="javascript:changeToSeznam()" id="seznam-link" class="list-type-switch-item" aria-label="Seznam">
55 <span class="mpsv-icons-view-list"></span>
56 </a>
57 </div>
58 <div id="tiskove-zpravy" class="list__wrapper items-tiles">
59 <#if entries?has_content>
60 <div class="list news-list">
61 <#list entries as curEntry>
62
63 <#if curEntry.getAssetRenderer()??>
64
65 <#assign
66 renderer = curEntry.getAssetRenderer()
67 journalArticle = renderer.getArticle()
68 link = renderer.getURLViewInContext(renderRequest, renderResponse, '')
69
70 title = curEntry.getTitle(locale)
71
72 summary = journalArticle.getDescription(locale)
73
74 doc = saxReaderUtil.read(journalArticle.getContent())
75 obrazek = doc.valueOf("//dynamic-element[@name='obrazek']/dynamic-content/text()")
76
77 obrazekUrl = ''
78 />
79
80 <#if !obrazek?has_content>
81 <#assign obrazekUrl = "/documents/20142/511219/logo_OK.png/59f031fe-9840-0440-07a3-cc4f13145331" />
82 <#else>
83 <#assign
84 imageUUID = jsonFactoryUtil.createJSONObject(obrazek).getString("uuid")
85 siteId = themeDisplay.getSiteGroupId()
86 obrazekUrl = "/documents/${siteId}/${imageUUID}" />
87 </#if>
88
89 <#if !summary?has_content>
90 <#assign
91 summary = doc.valueOf("//dynamic-element[@name='obsah']/dynamic-content/text()")?replace('<\\/?[^p\\/].*?>', '', 'r')
92 res = summary?matches("<.*?>(.*)</.*?>")
93 />
94 <#if res?size gt 0>
95 <#list 1 .. res?size as x>
96 <#assign text = res[(x-1)]?groups[1] />
97 <#if text?has_content && text != " ">
98 <#assign summary = text />
99 <#break>
100 </#if>
101 </#list>
102 </#if>
103 </#if>
104
105 <a href="${link}" class="list__item" aria-label="${title}">
106 <div class="list__item-holder" role="article">
107 <#if obrazek?has_content>
108 <div class="list__image">
109 <img alt="${title}" src="${obrazekUrl}">
110 </div>
111 </#if>
112 <div class="tiles-content">
113 <h3 class="list__title" >${stringUtil.shorten(title, 50)}</h3>
114 <p class="list__text" >${stringUtil.shorten(summary, 180)}</p>
115 </div>
116 <div class="list-content hidden">
117 <h3 class="list__title">${title}</h3>
118
119 <p class="list__text">${summary}</p>
120 </div>
121 <div class="list__controls">
122 <span class="with-icon with-icon--smaller">Zjistit více</span>
123 <p class="list__place-date-time">${journalArticle.getDisplayDate()?string("d. M. yyyy")}</p>
124 </div>
125 </div>
126 </a>
127
128 </#if>
129
130 </#list>
131 </div>
132 </#if>
133 </div>
134 </div>
135 </div>
136</div>
137
138<script type="text/javascript">
139
140 function changeToDlazdice() {
141 $('#tiskove-zpravy').removeClass('items-list');
142 $('#tiskove-zpravy').addClass('items-tiles');
143 $('#seznam-link').removeClass('active');
144 $('#dlazdice-link').addClass('active');
145 $('.list__image').removeClass('hidden');
146 $('.tiles-content').removeClass('hidden');
147 $('.list-content').addClass('hidden');
148 }
149
150 function changeToSeznam() {
151 $('#tiskove-zpravy').removeClass('items-tiles');
152 $('#tiskove-zpravy').addClass('items-list');
153 $('#dlazdice-link').removeClass('active');
154 $('#seznam-link').addClass('active');
155 $('.list__image').addClass('hidden');
156 $('.tiles-content').addClass('hidden');
157 $('.list-content').removeClass('hidden');
158 }
159</script>