Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> player.photoMediaWebDTO  [in template "20100#20127#27586740" at line 17, column 133]

----
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: ${player.photoMediaWebDTO.url}  [in template "20100#20127#27586740" at line 17, column 131]
----
1<#setting locale = locale> 
2 
3<div> 
4	<div class="image-article-container image-article-container-single-player"> 
5		<a href="/i-zespol" class="btn-go-back"><span class="icon icon-slg-chevron-left"></span> 
6			${TranslationUtil.get("back-to-the-list-of-female-players", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case} 
7		</a> 
8		<div class="img-wrapper"> 
9			<#if player.photoMediaWebDTO??> 
10					<img data-imgsize="650" loading="lazy" class="player-photo" src="${player.photoMediaWebDTO.url}" 
11						 alt="${player.firstName} ${player.lastName}"> 
12			<#else> 
13				<img class="player-photo" src="/o/single-player/images/photo-placeholder-woman.png" 
14					 alt="photo placeholder"> 
15			</#if> 
16			<#if player.backgroundMediaWebDTO??> 
17					<img data-imgsize="650" loading="lazy" class="player-photo player-photo-transparent" src="${player.photoMediaWebDTO.url}" 
18						 alt="${player.firstName} ${player.lastName}"> 
19 			<#else> 
20				<img class="player-photo player-photo-transparent" 
21					 src="/o/single-player/images/background-placeholder-woman.png" alt="background placeholder"> 
22			</#if> 
23		</div> 
24		<div class="player-info"> 
25			<div class="player-info-content"> 
26				<div class="number-and-flag"> 
27					<#if player.number != 0> 
28						<span class="number">#${player.number}</span> 
29					</#if> 
30					<img class="flag" 
31						 src="${themeDisplay.getPathThemeRoot()}/assets/img/flags/${player.shortNationality}.png"> 
32				</div> 
33 
34				<h2 class="name"><span>${player.firstName}</span> ${player.lastName}</h2> 
35				<span class="position">${player.position}</span> 
36				<div class="btn-wrapper btn-edit-placeholders"> 
37					<!-- Here will be edit button rendered by javascript --> 
38				</div> 
39			</div> 
40 
41			<div class="share-widget"> 
42				<#if player.instagram?has_content> 
43					<a href="${player.instagram}" target="_blank"><span class="icon icon-slg-instagram"></span></a> 
44				</#if> 
45 
46				<#if player.facebook?has_content> 
47					<a href="${player.facebook}" target="_blank"><span class="icon icon-slg-facebook"></span></a> 
48				</#if> 
49 
50				<#if player.twitter?has_content> 
51					<a href="${player.twitter}" target="_blank"><span class="icon icon-slg-twitter"></span></a> 
52				</#if> 
53			</div> 
54		</div> 
55 
56		<#if player.number != 0> 
57			<div class="number-big">${player.number}</div> 
58		</#if> 
59	</div> 
60 
61	<div class="single-player-details-stats-container container"> 
62		<div class="single-player-details-container"> 
63			<#if player.birthday?has_content> 
64				<#if player.number != 0> 
65					<div class="single-player-details"> 
66						<span class="title">${TranslationUtil.get("date-of-birth-date", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
67						<span class="value">${player.birthday}</span> 
68					</div> 
69				</#if> 
70			</#if> 
71 
72			<#if player.weight?has_content && player.number != 0> 
73				<div class="single-player-details"> 
74					<span class="title">${TranslationUtil.get("height", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
75					<span class="value">${player.height} cm</span> 
76				</div> 
77			</#if> 
78 
79			<#if player.weight?has_content && player.number != 0> 
80				<div class="single-player-details"> 
81					<span class="title">${TranslationUtil.get("weight", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
82					<span class="value">${player.weight} kg</span> 
83				</div> 
84			</#if> 
85 
86			<#if player.position?has_content> 
87				<div class="single-player-details"> 
88					<span class="title">${TranslationUtil.get("position", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
89					<span class="value">${player.position}</span> 
90				</div> 
91			</#if> 
92 
93			<#if player.nickname?has_content> 
94				<div class="single-player-details"> 
95					<span class="title">${TranslationUtil.get("nickname", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
96					<span class="value">${player.nickname}</span> 
97				</div> 
98			</#if> 
99 
100			<#if player.nationality?has_content> 
101				<div class="single-player-details"> 
102					<span class="title">${TranslationUtil.get("nationality", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
103					<span class="value">${player.nationality}</span> 
104				</div> 
105			</#if> 
106 
107			<#if player.careerProgression?has_content> 
108				<div class="single-player-details"> 
109					<span class="title">${TranslationUtil.get("career-progression", locale, "com.stellis.liga360.clubs.singleplayer.web")?lower_case}:</span> 
110					<span class="value">${player.careerProgression}</span> 
111				</div> 
112			</#if> 
113		</div> 
114 
115		<#if player.number != 0> 
116			<div class="single-player-stats-container"> 
117				<div class="stats-season-dropdown"> 
118					<select id="matchDataDTOS" name="matchDataDTOS" class="single-player-stats-season-dropdown" 
119							onchange="showStats(this)"> 
120						<#list entries as matchDataDTO> 
121							<option value="${matchDataDTO.seasonId}">${matchDataDTO.seasonName}</option> 
122						</#list> 
123					</select> 
124					<i class="icon icon-slg-chevron-down"></i> 
125				</div> 
126 
127				<#list entries as matchDataDTO> 
128					<div class="single-player-stats d-none" id="match-data-${matchDataDTO.seasonId}"> 
129						<#list matchDataDTO.matchDataMap as matchDataKey, matchDataValue> 
130							<div class="single-player-stats-item animation-fade-in-trigger"> 
131								<span class="title">${matchDataKey}: </span> 
132								<span class="value">${matchDataValue}</span> 
133							</div> 
134						</#list> 
135					</div> 
136				</#list> 
137			</div> 
138		</#if> 
139	</div> 
140 
141	<div class="container desktop"> 
142		<div class="separator color-default"></div> 
143	</div> 
144 
145	<div class="single-player-content container"> 
146		<div class="single-player-content-left"> 
147			<#if player.leadText?has_content> 
148				${player.getLeadByLocale(locale)} 
149			</#if> 
150		</div> 
151 
152		<div class="single-player-content-right"> 
153			<#if player.content?has_content> 
154				${player.getContentByLocale(locale)} 
155			</#if> 
156		</div> 
157	</div> 
158</div> 
159 
160<script> 
161	var singlePlayerStats = document.getElementsByClassName("single-player-stats"); 
162	if (singlePlayerStats && singlePlayerStats.length > 0) { 
163 
164		singlePlayerStats[0].classList.remove('d-none') 
165 
166		function showStats(select) { 
167			let matchData = document.getElementById('match-data-' + select.value); 
168			for (const singlePlayerStat of singlePlayerStats) { 
169				singlePlayerStat.classList.add("d-none") 
170
171			matchData.classList.remove("d-none") 
172
173
174</script> 

powiązane treści

zawodnicZKI