

Deadlines
Abstract submission: OPEN ( abstract template online submission)
Registration opens: April 1st, 2025
Registration
Registration fee: € 300 (VAT excluded) (inclusive of social dinner)
Registration deadline: 15th April
Synopsis
The first edition of 2D-Vision brings together leading scientists and researchers to discuss recent progress and future directions in the study of Graphene and other two-dimensional materials. Topics will include Photoelectron Spectroscopy, Electron Microscopy, Optical Spectroscopy, and Scanning Probe Microscopy, with a focus on advancing the field through collaboration and innovation.
Hosted in the historic city of Pisa, Italy, the event will take place at the prestigious Scuola Normale Superiore, a hub of academic excellence, and the Domus Comeliana, a picturesque villa offering breathtaking views of the Leaning Tower. These inspiring venues provide the perfect setting for scientific discussions.
At the conclusion of the scientific program on the first day, participants will have the opportunity to visit the laboratories of the 2D Materials Engineering group. These facilities boast cutting-edge equipment for the synthesis of 2D materials and advanced tools for surface investigation and analysis, showcasing the forefront of research and technology in the field.
Invited Speakers
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>
The following has evaluated to null or missing:
==> articleId [in template "20101#20127#7825929" at line 47, column 22]
----
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: ${articleId} [in template "20101#20127#7825929" at line 47, column 20]
----
1<#assign color = "" />
2<#assign titlecolor = "" />
3
4<#assign ImagePosition = ImagePosition.getData() />
5<#assign ImageWidth = ImageWidth.getData() />
6<#assign color = BackgroundTextColor.getData()/>
7<#assign Image = Image.getData() />
8<#assign Text = Text.getData() />
9<#assign Title = Title.getData() />
10<#assign titlecolor = ColorTitle.getData()/>
11
12<style type="text/css">
13table {
14 width: 100%;
15 border-collapse: collapse;
16 margin-top: 5px; /* Margine superiore per separare dalla sezione precedente */
17 margin-bottom: 20px; /* Spazio tra righe di tabelle */
18 position: relative; /* Posizionamento relativo per gestire la sovrapposizione */
19}
20
21td {
22 padding: 0;
23 vertical-align: middle; /* Allinea verticalmente il contenuto */
24}
25
26.image-box {
27 position: relative;
28 z-index: 1; /* Assicura che l'immagine sia sopra il testo */
29}
30
31.image-box img {
32 width: 100%;
33 height: auto; /* Mantiene le proporzioni dell'immagine */
34 display: block;
35 position: relative;
36 margin-top: -10px; /* Sporgenza di 10px sopra il testo */
37 margin-bottom: -10px; /* Sporgenza di 10px sotto il testo */
38 transition: transform 0.3s ease-in-out; /* Aggiunge una transizione */
39}
40
41
42<#if disableZoomOnImage?? & disableZoomOnImage.getData()?? >
43 <#if getterUtil.getBoolean(disableZoomOnImage.getData())>
44
45 <#else>
46 /* Effetto ingrandimento al passaggio del mouse */
47 .image-box-${articleId} img:hover {
48 transform: scale(1.05); /* Ingrandisce leggermente l'immagine */
49 }
50 </#if>
51</#if>
52
53/* Gestione della sovrapposizione per l'immagine a sinistra */
54<#if ImagePosition=="left">
55.image-box:hover {
56 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
57}
58
59.text-box {
60 width: calc(100% - ${ImageWidth});
61 padding: 10px; /* Padding per il testo */
62 box-sizing: border-box; /* Include padding nella dimensione totale */
63 position: relative;
64 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
65 z-index: 0; /* Mantiene il testo sotto l'immagine */
66}
67
68/* Sovrapposizione anche per l'immagine a destra */
69<#else>
70.image-box:hover {
71 z-index: 2; /* Porta l'immagine in primo piano quando si ingrandisce */
72}
73
74.text-box {
75 width: calc(100% - ${ImageWidth});
76 padding: 10px; /* Padding per il testo */
77 box-sizing: border-box; /* Include padding nella dimensione totale */
78 position: relative;
79 overflow: hidden; /* Nasconde qualsiasi sporgenza del testo */
80 z-index: 0; /* Mantiene il testo sotto l'immagine */
81}
82
83</#if>
84
85.spacer {
86 height: 20px; /* Altezza dello spazio tra righe */
87 display: block;
88}
89
90/* Media query per rendere il layout responsive */
91@media (max-width: 768px) {
92 .large-screen-only {
93 display: none;
94 }
95 .small-p.small-screen-only .image-box img {
96 width: 50%; /* Riduce la larghezza al 50% per la visualizzazione mobile */
97 margin: 0 auto; /* Centra l'immagine */
98 }
99}
100@media (min-width: 769px) {
101 .small-screen-only {
102 display: none;
103 }
104}
105
106</style>
107
108<div class="large-screen-only">
109 <#if ImagePosition=="left">
110 <!-- Immagine a sinistra -->
111 <table>
112 <tbody>
113 <tr>
114 <td class="image-box" style="width: ${ImageWidth}">
115 <#if (linkOnImage.getData())??>
116 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
117 <#else>
118 <img alt="" src="${Image}" />
119 </#if>
120 </td>
121 <td class="text-box" style="background-color: ${color}">
122 <#if Title?has_content && titlecolor?has_content>
123 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
124 </#if>
125 <p>${Text}</p>
126 </td>
127 </tr>
128 </tbody>
129 </table>
130 <!-- Spazio tra righe -->
131 <div class="spacer"> </div>
132
133 <#else>
134 <!-- Immagine a destra -->
135 <table>
136 <tbody>
137 <tr>
138 <td class="text-box" style="background-color: ${color}">
139 <#if Title?has_content && titlecolor?has_content>
140 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
141 </#if>
142 <p>${Text}</p>
143 </td>
144 <td class="image-box" style="width: ${ImageWidth}">
145 <#if (linkOnImage.getData())??>
146 <a href="${linkOnImage.getData()}"><img alt="" src="${Image}" /></a>
147 <#else>
148 <img alt="" src="${Image}" />
149 </#if>
150 </td>
151 </tr>
152 </tbody>
153 </table>
154 <!-- Spazio tra righe -->
155 <div class="spacer"> </div>
156
157 </#if>
158</div>
159
160<div class="small-screen-only small-p">
161 <table>
162 <tbody>
163 <tr>
164 <td class="image-box" style="width: ${ImageWidth}"><img alt="" src="${Image}" /></td>
165 </tr>
166 <tr>
167 <td class="text-box" style="background-color: ${color}">
168 <#if Title?has_content && titlecolor?has_content>
169 <h2 style="color: ${titlecolor};font-weight: bold;">${Title}</h2>
170 </#if>
171 <p>${Text}</p>
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 <!-- Spazio tra righe -->
177 <div class="spacer"> </div>
178</div>





