Travel Alert
템플렛을 가공하고 있는 동안 과실은 일어났다.
The following has evaluated to null or missing: ==> cur_group123423.img32.getAttribute("alt") [in template "20096#20122#159954" at line 402, column 265] ---- 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: ${cur_group123423.img32.getAttribute(... [in template "20096#20122#159954" at line 402, column 263] ----
1<script>
2var BufferPageTemplateViewMore = document.createElement('style');
3BufferPageTemplateViewMore.innerHTML = `
4.txtp25_content h2{
5color: #101828;
6font-family: Maven Pro;
7font-size: 20px;
8font-style: normal;
9font-weight: 500;
10line-height: 120%;
11}
12.tdtxtp_img_col_12{
13 max-width: 100%;
14 object-fit: cover;
15 aspect-ratio: 1128/368;
16 object-position: center;
17}
18
19.tdtxtp_img_col_8{
20 max-width: 100%;
21 object-fit: cover;
22 aspect-ratio: 744/368;
23 object-position: center;
24}
25
26.tdtxtp_img_col_6{
27 max-width: 100%;
28 object-fit: cover;
29 aspect-ratio: 552/368;
30 object-position: center;
31}
32
33.tdtxtp_img_col_4{
34 max-width: 100%;
35 object-fit: cover;
36 aspect-ratio: 552/368;
37 object-position: center;
38}
39
40
41@media (max-width: 767px) {
42.tdtxtp_img_col_12{
43 max-width: 100%;
44 object-fit: cover;
45 aspect-ratio: 388/257;
46 object-position: center;
47}
48
49.tdtxtp_img_col_8{
50 max-width: 100%;
51 object-fit: cover;
52 aspect-ratio: 744/239;
53 object-position: center;
54}
55
56.tdtxtp_img_col_6{
57 max-width: 100%;
58 object-fit: cover;
59 aspect-ratio: 360/240;
60 object-position: center;
61}
62
63.tdtxtp_img_col_4{
64 max-width: 100%;
65 object-fit: cover;
66 aspect-ratio: 360/240;
67 object-position: center;
68}
69}
70
71 .tdtxtp_bg_gray{
72 background: var(--gray-100, #F2F4F7);
73 }
74 .tdtxtp_bg_white{
75 background: #ffffff;
76 }
77 .tdtxtp_title-highlighted{
78 color: var(--primary-blue-500, #00558F) !important;
79 }
80 .tdtxtp_nonpadding{
81 padding: 0 !important;
82 }
83 .tdtxtp_title{
84 margin-bottom: 32px;
85 font-family: 'Maven Pro';
86 font-style: normal;
87 font-weight: 500;
88 font-size: 32px;
89 line-height: 120%;
90 color: #101828;
91 flex: none;
92 order: 0;
93 flex-grow: 0;
94 }
95 .tdtxtp_name{
96 margin-left: 24px;
97 margin-bottom: 62px;
98 z-index: 2;
99 font-family: 'Maven Pro';
100 font-style: normal;
101 font-weight: 500;
102 font-size: 32px;
103 line-height: 120%;
104 color: #FCFCFD;
105 flex: none;
106 order: 0;
107 flex-grow: 0;
108 bottom: 6px;
109 }
110 .tdtxtp_imgps{
111 margin-left: 24px;
112 margin-bottom: 24px;
113 bottom: 0px;
114 z-index: 2;
115 }
116 .tdtxtp_img{
117 border-radius: 0 10px;
118
119 }
120 .tdtxtp_nonpadding{
121 padding: 0px !important;
122 }
123 .tdtxtp_center {
124 top: 90%;
125 width: 100%;
126 text-align: center;
127 }
128 .tdtxtp_viewmore {
129 position: relative;
130 font-family: 'Maven Pro';
131 font-style: normal;
132 font-weight: 500;
133 font-size: 16px;
134 line-height: 18px;
135 text-transform: capitalize;
136 color: #FCFCFD;
137 padding-bottom: 8px;
138 display: block;
139 }
140 .tdtxtp_viewmore:hover {
141 color: #FCFCFD;
142 }
143
144 @keyframes linecss {
145 0% {
146 width: 100%;
147 }
148 50% {
149 width: 0;
150 }
151 100% {
152 width: 100%;
153 }
154}
155
156.tdtxtp_imgps a:hover{
157text-decoration: none;
158}
159.tdtxtp_imgps a:hover:before {
160 transform-origin: left;
161 animation: linecss 0.6s;
162}
163.tdtxtp_imgps a:before {
164 content: '';
165 height: 1px;
166 width: 100%;
167 position: absolute;
168 bottom: 0;
169 left: 0;
170 background-color: #FCFCFD;
171 transform-origin: right;
172}
173.buffer-content-hover{
174background: linear-gradient(360deg, rgba(45, 35, 0, 0.80) 0%, rgba(45, 35, 0, 0.00) 100%);
175border-radius: 0 16px 0 16px;
176}
177.buffer-content-hover img {
178 transition: all 0.5s ease;
179}
180
181.buffer-content-hover:hover img{
182 transform: scale(1.07);
183}
184
185 .buffer-content-hover > a:before {
186 position: absolute;
187 width: calc(100%);
188 height: 100%;
189 content: "";
190 left: 0;
191 top: 0;
192 z-index: 1;
193 border-radius: 0 16px 0 16px;
194 background: linear-gradient(360deg, rgba(45, 35, 0, 0.80) 0%, rgba(45, 35, 0, 0.00) 100%);
195}
196
197
198 @media (min-width: 1200px) {
199 .tdtxtp_padding {
200 padding-top: 64px;
201 padding-bottom: 40px;
202 }
203 }
204
205 @media (min-width: 768px) and (max-width: 1199px)
206 {
207 .tdtxtp_name {
208 font-size: 28px;
209 margin-left: 24px;
210 margin-bottom: 58px;
211 }
212 .tdtxtp_padding {
213 padding-top: 48px;
214 padding-bottom: 24px;
215 }
216 }
217
218 .portlet-journal-content .journal-content-article .tdtxtp_bg_gray img {
219 height: 257px;
220 object-fit: cover;
221 width: 100%;
222}
223
224.portlet-journal-content .journal-content-article .tdtxtp_bg_gray picture {
225 width: 100%;
226}
227
228@media (min-width: 768px){
229 .portlet-journal-content .journal-content-article .tdtxtp_bg_gray img {
230 height: 240px;
231}
232}
233
234
235@media (min-width: 992px){
236 .portlet-journal-content .journal-content-article .tdtxtp_bg_gray img {
237 height: 386px;
238}
239}
240
241 @media (max-width: 767px) {
242 .tdtxtp_title{
243 font-size: 28px;
244 }
245 .tdtxtp_name {
246 font-size: 28px;
247 margin-left: 20px;
248 margin-bottom: 58px;
249 }
250 .tdtxtp_padding {
251 padding-top: 32px;
252 padding-bottom: 8px;
253 padding-left: 8px;
254 padding-right: 8px;
255 }
256 .tdtxtp_imgps{
257 margin-left: 20px;
258 }
259 }
260
261 @media (max-width: 575px)
262 {
263 .tdtxtp_name {
264 font-size: 24px;
265 }
266 }
267`;
268
269document.head.appendChild(BufferPageTemplateViewMore);
270</script>
271
272<#assign groupId = themeDisplay.getScopeGroupId()>
273
274 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
275
276 <#assign group = groupLocalService.getGroup(groupId)>
277
278 <#assign friendlyURL = group.getFriendlyURL()>
279
280 <#assign locale = themeDisplay.getLocale()>
281
282 <#assign region = themeDisplay.getLocale().getCountry()>
283
284 <#assign language = themeDisplay.getLocale().getLanguage()>
285<#if (bgcolor312.getData())??>
286 <#if (bgcolor312.getData()) == "gray">
287 <div class="tdtxtp_bg_gray">
288 <#else >
289 <div class="tdtxtp_bg_white">
290 </#if>
291 <div class="container tdtxtp_padding">
292 <#if (title31.getData())?? && (title31.getData()) != "">
293 <#if getterUtil.getBoolean(is_highlighted_title.getData())>
294 <h1 class="tdtxtp_title col-12 tdtxtp_title-highlighted">
295 ${title31.getData()}
296 </h1>
297 <#else>
298 <h1 class="tdtxtp_title col-12">
299 ${title31.getData()}
300 </h1>
301 </#if>
302 </#if>
303 <div class="d-flex flex-wrap">
304 <#if group123423.getSiblings()?has_content>
305 <#list group123423.getSiblings() as cur_group123423>
306
307 <#assign viewURL23 = cur_group123423.LinkToLayout72883470.getFriendlyUrl()>
308 <#assign originalText = viewURL23?replace("/web"+friendlyURL, "")>
309 <#assign replacedText = originalText?replace("/"+language + "/", friendlyURL+"/"+language + "/")>
310 <#assign urlParts = replacedText?split("?")>
311 <#assign urlWithoutQueryString = urlParts[0]?replace("/web/" + region, "")>
312 <#if !(urlWithoutQueryString?contains(friendlyURL+"/"+language + "/"))>
313 <#assign urlWithoutQueryString = friendlyURL+"/"+language + urlWithoutQueryString>
314 </#if>
315
316 <#assign linkPage = cur_group123423.TextLinkToPage.getData()>
317 <#if !(linkPage?contains("https://"))>
318 <#assign linkOutPage = friendlyURL + "/" + language + linkPage>
319 <#else>
320 <#assign linkOutPage = linkPage>
321 </#if>
322
323
324 <#if (cur_group123423.style312.getData())??>
325
326
327 <#if (cur_group123423.style312.getData()) == "Col-12">
328 <div class="col-12 col-md-12 mb-4 ">
329 <div class="buffer-content-hover" style="overflow: hidden; border-radius: 0 16px;">
330 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "">
331 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${urlWithoutQueryString}">
332 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
333 </a>
334 </#if>
335 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
336 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${linkOutPage}">
337 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
338 </a>
339 </#if>
340 <div class=" tdtxtp_name position-absolute col-8 tdtxtp_nonpadding">
341 <#if (cur_group123423.name123.getData())??>
342 ${cur_group123423.name123.getData()}
343 </#if>
344 </div>
345 <div style="cursor: pointer;" class=" position-absolute tdtxtp_imgps ">
346 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "">
347 <a data-senna-off="true" class="tdtxtp_viewmore" href="${urlWithoutQueryString}">
348 ${languageUtil.get(locale, "donate.view-more")}
349 </a>
350 </#if>
351 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
352 <a data-senna-off="true" class="tdtxtp_viewmore" href="${linkOutPage}">
353 ${languageUtil.get(locale, "donate.view-more")}
354 </a>
355 </#if>
356 </div>
357 </img>
358 </div>
359 </div>
360 </#if>
361 <#if (cur_group123423.style312.getData()) == "Col-8">
362 <div class="col-md-8 col-12 mb-4 ">
363 <div class="buffer-content-hover" style="overflow: hidden; border-radius: 0 16px;">
364 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "">
365 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${urlWithoutQueryString}">
366 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
367 </a>
368 </#if>
369 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
370 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${linkOutPage}">
371 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
372 </a>
373 </#if>
374 <div class=" tdtxtp_name position-absolute col-8 tdtxtp_nonpadding">
375 <#if (cur_group123423.name123.getData())??>
376 ${cur_group123423.name123.getData()}
377 </#if>
378 </div>
379 <div style="cursor: pointer;" class=" position-absolute tdtxtp_imgps">
380 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "">
381 <a data-senna-off="true" class="tdtxtp_viewmore" href="${urlWithoutQueryString}">
382 ${languageUtil.get(locale, "donate.view-more")}
383 </a>
384 </#if>
385 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
386 <a data-senna-off="true" class="tdtxtp_viewmore" href="${linkOutPage}">
387 ${languageUtil.get(locale, "donate.view-more")}
388 </a>
389 </#if>
390 </div>
391 </img>
392 </div>
393 </div>
394 </#if>
395 <#if (cur_group123423.style312.getData()) == "Col-6">
396 <div class="col-md-6 col-12 mb-4 ">
397 <div class="buffer-content-hover" style="overflow: hidden; border-radius: 0 16px;">
398
399
400 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "" >
401 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${urlWithoutQueryString}">
402 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
403 </a>
404 </#if>
405 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
406 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${linkOutPage}">
407 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
408 </a>
409 </#if>
410
411 <div class=" tdtxtp_name position-absolute col-10 tdtxtp_nonpadding">
412 <#if (cur_group123423.name123.getData())??>
413 ${cur_group123423.name123.getData()}
414 </#if>
415 </div>
416 <div style="cursor: pointer;" class=" position-absolute tdtxtp_imgps">
417
418 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "">
419 <a data-senna-off="true" class="tdtxtp_viewmore" href="${urlWithoutQueryString}">
420 ${languageUtil.get(locale, "donate.view-more")}
421 </a>
422 </#if>
423 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
424 <a data-senna-off="true" class="tdtxtp_viewmore" href="${linkOutPage}">
425 ${languageUtil.get(locale, "donate.view-more")}
426 </a>
427 </#if>
428
429 </div>
430 </img>
431 </div>
432 </div>
433 </#if>
434 <#if (cur_group123423.style312.getData()) == "Col-4">
435 <div class="col-md-4 col-12 mb-4 ">
436 <div class="buffer-content-hover" style="overflow: hidden; border-radius: 0 16px;">
437 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "" >
438 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${urlWithoutQueryString}">
439 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
440 </a>
441 </#if>
442 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
443 <a data-senna-off="true" class="d-flex position-relative" aria-label="${cur_group123423.name123.getData()}" href="${linkOutPage}">
444 <img class="tdtxtp_img tdtxtp_img_col_6 tdtxtp_img_col_6 position-relative" style="width:100%;" src="${cur_group123423.img32.getData()}" alt="${cur_group123423.img32.getAttribute("alt")}" />
445 </a>
446 </#if>
447 <div class=" tdtxtp_name position-absolute col-8 tdtxtp_nonpadding">
448 <#if (cur_group123423.name123.getData())??>
449 ${cur_group123423.name123.getData()}
450 </#if>
451 </div>
452 <div style="cursor: pointer;" class=" position-absolute tdtxtp_imgps">
453 <#if (cur_group123423.LinkToLayout72883470.getFriendlyUrl())?? && cur_group123423.LinkToLayout72883470.getFriendlyUrl() != "">
454 <a data-senna-off="true" class="tdtxtp_viewmore" href="${urlWithoutQueryString}">
455 ${languageUtil.get(locale, "donate.view-more")}
456 </a>
457 </#if>
458 <#if (cur_group123423.TextLinkToPage.getData())?? && cur_group123423.TextLinkToPage.getData() != "" && cur_group123423.LinkToLayout72883470.getFriendlyUrl() == "">
459 <a data-senna-off="true" class="tdtxtp_viewmore" href="${linkOutPage}">
460 ${languageUtil.get(locale, "donate.view-more")}
461 </a>
462 </#if>
463 </div>
464 </img>
465 </div>
466 </div>
467 </#if>
468 </#if>
469 </#list>
470 </#if>
471 </div>
472
473
474 </div>
475 </div>
476</#if>