Format
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> themeDisplay.getThemeSetting("news-vocabulary-id")  [in template "51632#51678#43587" at line 22, column 20]

----
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: vocabularyId = themeDisplay.getThemeS...  [in template "51632#51678#43587" at line 22, column 5]
----
1<#--sella social macro --> 
2<#include "${templatesPath}/SOCIAL-SHARE-MACRO" /> 
3 
4<#assign originalLocale = locale> 
5<#setting locale = 'en_US'> 
6<#assign date = .vars['reserved-article-display-date'].data/> 
7<#assign date = date?datetime("EEE, d MMM yyyy HH:mm:ss Z") /> 
8<#setting locale = originalLocale> 
9<#assign dateTimeFormat = languageUtil.get(locale, "HH:mm, dd MMM yyyy")> 
10 
11 
12<#assign 
13    articleId = .vars['reserved-article-id'].data 
14    journalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
15    assetEntryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
16    ja = journalService.fetchLatestArticle(themeDisplay.getScopeGroupId(), articleId, 0) 
17    ae = assetEntryService.fetchEntry("com.liferay.journal.model.JournalArticle", ja.getResourcePrimKey()) 
18    title = .vars['reserved-article-title'].data 
19    jaAbstract = .vars['reserved-article-description'].data 
20    absoluteURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() 
21    altBigDetailImage = "" 
22    vocabularyId = themeDisplay.getThemeSetting("news-vocabulary-id")?number 
23    category = sella_tool.getCategoryFromVocabularyId(ae.getCategories(), vocabularyId, locale) 
24/> 
25 
26<#if !vocabularyIdLive?? && !themeDisplay.getThemeSetting("news-vocabulary-id-live")?? > 
27    <#assign vocabularyIdLive = 52307 /> 
28<#else> 
29    <#assign vocabularyIdLive = themeDisplay.getThemeSetting("news-vocabulary-id-live")?number /> 
30</#if> 
31 
32<#if category==""> 
33    <#assign category = sella_tool.getCategoryFromVocabularyId(ae.getCategories(), vocabularyIdLive , locale)  /> 
34</#if> 
35 
36<#-- ja title --> 
37<#if titleShown?? && titleShown.getData()?has_content> 
38    <#assign title = titleShown.getData() /> 
39</#if> 
40 
41<#if HeroImage.getAttribute("fileEntryId")?? > 
42    <#assign socialImg = themeDisplay.getPortalURL() + sella_tool.getAdaptiveMediaSrc("800-x-533-px",HeroImage.getAttribute("fileEntryId")?number,HeroImage.name) /> 
43<#else> 
44    <#assign socialImg = ""> 
45</#if> 
46 
47<@shareContent title="${title}" summary="${jaAbstract}" detailURL="${absoluteURL}" imageURL="${socialImg}"/> 
48 
49 
50 
51<article class="article-detail article-detail--has-img"> 
52  <#-- Info + Social --> 
53  <div class="container"> 
54    <div class="row"> 
55      <div class="col-md-10 offset-md-1"> 
56        <div class="article-detail__intro"> 
57          <div class="row"> 
58            <div class="col-lg-8"> 
59              <#-- Categoria e data --> 
60              <div class="d-flex"> 
61                <#if category?? && category?has_content> 
62                  <div class="article-detail__category">${category}</div> 
63                </#if> 
64                <div class="article-detail__date">${date?string(dateTimeFormat)}</div> 
65              </div> 
66              <#-- Titolo --> 
67              <h1 class="article-detail__title">${title}</h1> 
68              <#-- Sottotitolo --> 
69              <#if jaAbstract?has_content> 
70                <h2 class="article-detail__subject">${jaAbstract}</h2> 
71              </#if> 
72 
73            </div> 
74          </div> 
75          <div class="row"> 
76            <div class="col-12"> 
77              <div class="article-detail__button d-flex"> 
78                <#-- Share button --> 
79                <div class="sella-share clearfix"> 
80                  <div class="sella-share__icon sella-share__icon--share"> 
81                    <svg class="ico-svg"> 
82                      <use xlink:href="${themeDisplay.getPathThemeImages()}/assets/images/icons.svg#share-alt"></use> 
83                    </svg> 
84                  </div> 
85                  <div class="sella-share__text">Condividi</div> 
86                  <ul> 
87                    <li> 
88                      <a href="http://www.facebook.com/sharer.php?u=${absoluteURL}" title="Facebook" class="sella-share__icon sella-share__icon--fb"> 
89                        <svg class="ico-svg"> 
90                          <use xlink:href="${themeDisplay.getPathThemeImages()}/assets/images/icons.svg#facebook-f"></use> 
91                        </svg> 
92                      </a> 
93                    </li> 
94                    <li> 
95                      <a href="https://twitter.com/home?status=${absoluteURL}" title="Twitter" class="sella-share__icon sella-share__icon--twitter"> 
96                        <svg class="ico-svg"> 
97                          <use xlink:href="${themeDisplay.getPathThemeImages()}/assets/images/icons.svg#twitter"></use> 
98                        </svg> 
99                      </a> 
100                    </li> 
101                    <li> 
102						<#assign escapedTitle = htmlUtil.escape(htmlParserUtil.extractText(title)) /> 
103						<#assign escapedAbstract = htmlUtil.escape(htmlParserUtil.extractText(jaAbstract)) /> 
104 
105                      	<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=${absoluteURL}&amp;title=${escapedTitle}&amp;summary=${escapedAbstract}&amp;source=" title="LinkedIn" class="sella-share__icon sella-share__icon--linkedin"> 
106                        	<svg class="ico-svg"> 
107                          		<use xlink:href="${themeDisplay.getPathThemeImages()}/assets/images/icons.svg#linkedin-in"></use> 
108                        	</svg> 
109                      	</a> 
110                    </li> 
111                     <li> 
112                      <a href="https://api.whatsapp.com/send?text=${urlCodec.encodeURL(absoluteURL)}" title="WahtsApp" class="sella-share__icon sella-share__icon--whatsapp"> 
113                        <svg class="ico-svg"> 
114                          <use xlink:href="${themeDisplay.getPathThemeImages()}/assets/images/icons.svg#whatsapp"></use> 
115                        </svg> 
116                      </a> 
117                    </li> 
118                  </ul> 
119                </div> 
120              </div> 
121            </div> 
122          </div> 
123        </div> 
124      </div> 
125    </div> 
126  </div> 
127 
128 
129<#if HeroImage?? && HeroImage.getData() != ""> 
130    <#assign altBigDetailImage = HeroImage.getAttribute("alt") /> 
131    <#assign urlBigDetailImage = HeroImage.getData() /> 
132</#if> 
133<#if urlBigDetailImage?? && urlBigDetailImage?has_content> 
134    <div class="sella-container sella-container--only-img"> 
135        <div class="container-fluid"> 
136 
137        <#-- VIDEO --> 
138            <div class="row"> 
139                <div class="col-lg-10 offset-lg-1"> 
140                    <#if Video?? && Video?has_content > 
141                        <#if Video.getData()?? && Video.getData() != ""> 
142                            <#if Video.getData()?contains("vimeo")> 
143                                <#if HeroImage.getAttribute("fileEntryId")?? > 
144                                    <#assign HeroImage800x533 = sella_tool.getAdaptiveMediaSrc("800-x-533-px",HeroImage.getAttribute("fileEntryId")?number,HeroImage.name) /> 
145                                <#else> 
146                                    <#assign HeroImage800x533 = ""> 
147                                </#if> 
148                                <video width="100%" controls="" poster="${HeroImage800x533}"> 
149                                    <source src ="${Video.getData()}" type="video/mp4"> 
150                                </video> 
151                            <#else> 
152                                <iframe width="100%" height="350px" src="${Video.getData()}?controls=0" ></iframe> 
153                            </#if> 
154                        <#else> 
155                            <#if HeroImage?? && HeroImage?has_content > 
156                                <#if HeroImage.getData()?? && HeroImage.getData() != ""> 
157                                    <#if HeroImage.getAttribute("fileEntryId")?? > 
158                                        <#assign HeroImage800x533 = sella_tool.getAdaptiveMediaSrc("800-x-533-px",HeroImage.getAttribute("fileEntryId")?number,HeroImage.name) /> 
159                                        <figure class="article-detail__fig"> 
160                                        <img class="article-detail__img w-100" src="${HeroImage800x533}" alt="${HeroImage.getAttribute("alt")}"> 
161                                            <#if ImageOwner.getData()?? && ImageOwner.getData()!="" && HeroImage.getAttribute("alt") != "" > 
162                                                <figcaption class="article-detail__figcaption">${HeroImage.getAttribute("alt")} - <strong>${ImageOwner.getData()}</strong></figcaption> 
163                                            <#else> 
164                                                <figcaption class="article-detail__figcaption">${HeroImage.getAttribute("alt")} - <strong>${ImageOwner.getData()}</strong></figcaption> 
165                                            </#if> 
166                                        </figure> 
167                                    </#if> 
168                                </#if> 
169                            </#if> 
170                        </#if> 
171                    </#if> 
172                </div> 
173            </div> 
174        </div> 
175    </div> 
176</#if> 
177 
178<#-- testo --> 
179<#if Body?? && Body.getData()?has_content> 
180    <div class="container"> 
181        <div class="row"> 
182            <div class="col-md-8 offset-md-2 col-xl-6 offset-xl-3"> 
183                <div class="article-detail__text"> 
184                    ${Body.getData()} 
185                </div> 
186            </div> 
187        </div> 
188    </div> 
189</#if> 
190 
191<div class="article-detail__slider"> 
192    <div class="container"> 
193        <div class="row"> 
194            <div class="col-12"> 
195                <div class="slider slider-detail"> 
196                    <#if GalleryImage?has_content && GalleryImage??> 
197                        <#if GalleryImage.getData()?? && GalleryImage.getData() != ""  > 
198                            <#list GalleryImage.getSiblings() as curImage> 
199                                <#if curImage.getAttribute("fileEntryId")?? > 
200                                    <#assign curGalleryImage800x533 = sella_tool.getAdaptiveMediaSrc("800-x-533-px",curImage.getAttribute("fileEntryId")?number,curImage.name) /> 
201                                    <div> 
202                                            <div class="article-detail__gallery"> 
203                                            <a href="${curGalleryImage800x533}" title="${curImage.getAttribute("alt")}"> 
204                                                <img src="${curGalleryImage800x533}" alt="${curImage.getAttribute("alt")}" class="w-100"> 
205                                            </a> 
206                                            <#if curImage.GalleryImageOwner.getData()?? && curImage.GalleryImageOwner.getData()!="" && curImage.getAttribute("alt") != ""  > 
207                                                <div class="article-detail__gallery-caption">${curImage.getAttribute("alt")} - <strong>${curImage.GalleryImageOwner.getData()}</strong></div> 
208                                            </#if> 
209                                        </div> 
210                                    </div> 
211                                </#if> 
212                            </#list> 
213                        </#if> 
214                    </#if> 
215                </div> 
216            </div> 
217        </div> 
218    </div> 
219</div> 
Si è verificato un errore nell'elaborarazione del modello.
No compatible overloaded variation was found; wrong number of arguments.
The FTL type of the argument values were: extended_hash+string (com.liferay.portal.model.impl.LayoutSetImpl wrapped into f.e.b.StringModel), extended_hash+string (com.liferay.portal.kernel.theme.ThemeDisplay wrapped into f.e.b.StringModel).
The matching overload was searched among these members:
    com.liferay.portal.util.PortalImpl.getGroupFriendlyURL(com.liferay.portal.kernel.model.LayoutSet, com.liferay.portal.kernel.theme.ThemeDisplay, boolean, boolean),
    com.liferay.portal.util.PortalImpl.getGroupFriendlyURL(com.liferay.portal.kernel.model.LayoutSet, com.liferay.portal.kernel.theme.ThemeDisplay, Locale)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign groupPrependURL = portalUtil...  [in template "51632#51678#66308" at line 12, column 1]
----
1<#assign articleId = .vars['reserved-article-id'].data /> 
2<#assign articleGroupId = .vars['articleGroupId'] /> 
3 
4<#assign journalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
5<#assign groupService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
6<#assign layoutSetService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutSetLocalService") /> 
7 
8<#assign journalArticle = journalService.getLatestArticle(articleGroupId?number,articleId?string,0) /> 
9<#assign urlTitle = journalArticle.getUrlTitle() /> 
10<#assign group = groupService.getGroup(groupId?number) /> 
11<#assign groupFriendlyURL = group.getFriendlyURL() /> 
12<#assign groupPrependURL =  portalUtil.getGroupFriendlyURL(layoutSetService.getLayoutSet(groupId?number, false), themeDisplay) /> 
13 
14<#assign maxSize = 4 /> 
15<#assign radiocorIndex = radiocor_news_tool.getNewsIndex(-1) /> 
16<#assign dateTimeFormat = languageUtil.get(locale, "dd/MM/yyyy HH:mm:ss")> 
17 
18<section class="radiocor-ultime-wrapper"> 
19    <#-- 
20    <h2 class="sella-underlined-title ml-0 mr-0"> 
21        <span>Ultim'ora</span> 
22    </h2> 
23     --> 
24    <div class="radiocor-ultime-content"> 
25		<#--As of avoiding index-out-of-bounds error, in FreeMarker 2.3.21 you can issue listVar[0..*4], 
26		which will slice out 4 items, or less if there's less available.    --> 
27 
28        <#list radiocorIndex[0..*maxSize] as r> 
29				<div class="lx-latest-news-item"> 
30					<div class="lx-latest-news-item-text"> 
31						<h3><a href="${groupPrependURL}/radiocor/notizia/?nid=${r.id}">${r.headLine}</a></h3> 
32						<span>${r.date?string(dateTimeFormat)!""}</span> 
33					</div> 
34					<div class="lx-clear-fix"></div> 
35				</div> 
36        </#list> 
37    </div> 
38 
39    <p> 
40        <a href="${groupPrependURL}/radiocor/" class="radiocor-read-more font-weight-bold">${languageUtil.get(locale,"radiocor-read-more")}</a> 
41    </p> 
42 
43</section> 
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> httpUtil.getParameter  [in template "51632#51678#52245" at line 6, column 38]

----
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: #assign debug = validator.isNotNull(h...  [in template "51632#51678#52245" at line 6, column 1]
----
1<#--Inclusione delle MACRO  --> 
2<#include "${templatesPath}/SELLA-MACRO" /> 
3<#include "${templatesPath}/ADAPTIVE-IMAGE-MACRO" /> 
4 
5<#-- ##################################### DEBUG ################################### --> 
6<#assign debug = validator.isNotNull(httpUtil.getParameter(current_url,"sellaDebug",false)) /> 
7<#if debug > 
8    <div class="debug-content right"> 
9        TPL: REVIEW ADT 
10    </div> 
11</#if> 
12 
13<section class="review-adt-wrapper"> 
14    <div class="container"> 
15        <div class="review-adt-container"> 
16 
17            <#if entries?has_content> 
18 
19                <div class="review-adt-container-content"> 
20 
21                    <#list entries as curEntry> 
22 
23                        <#assign assetRenderer = curEntry.getAssetRenderer() /> 
24                        <#assign classPK = curEntry.getClassPK() /> 
25                        <#assign review = adt_tool.getFreemarkerMap(classPK, locale) /> 
26                        <#assign journalArticle = curEntry.getAssetRenderer().getAssetObject() /> 
27 
28                        <#assign customTitle = ""/> 
29                        <#if review.CustomTitle??> 
30                                <#assign customTitle = review.CustomTitle.value /> 
31                            </#if> 
32 
33                        <@getEditIcon /> 
34 
35                        <#if review.Cover??> 
36                            <#assign cover = review.Cover.value /> 
37                        </#if> 
38                        <#assign reviewTitle = curEntry.getTitle(locale) /> 
39                        <#assign abstract = curEntry.getSummary(locale) /> 
40 
41                        <div class="row"> 
42                          <div class="review-adt-img col-sm-5 pr-md-0"> 
43                            <a data-senna-off="true" href="${getDisplayPageURL(classPK, groupId)}"> 
44                                <div class="mb-2"> 
45                                    <img class="w-100" src="${cover.url}" > 
46                                </div> 
47                            </a> 
48                          </div> 
49                          <div class="review-adt-text col-sm-7"> 
50                            <h3> 
51                              <a data-senna-off="true" href="${getDisplayPageURL(classPK,groupId)}"> 
52                                <#if customTitle?? && customTitle?has_content> 
53                                        ${customTitle} 
54                                    <#else> 
55                                        ${reviewTitle} 
56                                    </#if> 
57                              </a> 
58                            </h3> 
59                            <div class="review-adt-abstract">${abstract}</div> 
60                          </div> 
61                        </div> 
62 
63                    </#list> 
64 
65                </div> 
66            </#if> 
67 
68        </div> 
69    </div> 
70</section> 
71 
72 
73<#macro getEditIcon> 
74    <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
75        <#assign redirectURL = renderResponse.createRenderURL() /> 
76 
77        ${redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp")} 
78        ${redirectURL.setWindowState("pop_up")} 
79 
80        <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" /> 
81 
82        <#if validator.isNotNull(editPortletURL)> 
83            <#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) /> 
84 
85            <@liferay_ui["icon"] 
86                cssClass="icon-monospaced visible-interaction" 
87                icon="pencil" 
88                markupView="lexicon" 
89                message=title 
90                url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});" 
91            /> 
92        </#if> 
93    </#if> 
94</#macro> 

Indietro Sostenersi a vicenda: la solidarietà dei colleghi di Centrico Selir di fronte all’alluvione in Romania

Stories
Persone & Lavoro

Supporting each other: the solidarity of Centrico Selir colleagues in the face of the floods in Romania

A special episode of our Stories narrating the experience of two Centrico Selir colleagues united by a common challenge: dealing with the aftermath of a devastating flood. Through solidarity, concrete actions, and strengthened bonds, we discover how teamwork can turn a crisis into a story of rebirth.
Sostenersi a vicenda: la solidarietà dei colleghi di Centrico Selir di fronte all’alluvione in Romania
Robitu Alexandra e Dumitrache Nicoleta di Centrico Selir

September was a challenging month for the Galati region in Romania, where Centrico Selir’s office is located, as it was hit by unprecedented flooding caused by Cyclone Boris. Among the many damaged homes were those of some employees, submerged by water with significant harm to the affected families.

In response to this emergency, the Centrico Selir team displayed exceptional solidarity, transforming their team spirit into tangible actions. Equipped with the necessary tools, colleagues worked tirelessly for an entire day to drain water, clean walls, floors, and furniture caked with mud in the affected homes.

Simultaneously, the company launched an internal fundraising campaign to support the urgent needs of the impacted families, doubling the contributions made by employees to provide meaningful aid during a critical time. 

A helping hand, a concrete gesture

“When we learned what was happening, there was no hesitation, we had to act,” says Robitu Alexandra, one of Centrico Selir’s volunteers. “The main motivation was the human connection with our colleagues, whom we’ve known and valued for years, along with the desire to help those in severe difficulty.”

The volunteers quickly organized themselves, tackling not only the practical challenges of draining water and cleaning homes but also the emotional challenge of convincing their colleagues to accept their help. “Sometimes, those who genuinely need assistance are reluctant to receive it,” Alexandra explains.

One especially touching moment occurred when the team saw that most of the families’ possessions were irreparably damaged, furniture destroyed, and appliances rendered useless by the water. “We decided to buy new appliances to replace the damaged ones. Seeing the expression on our colleague’s face when she received the replacements was incredibly moving. It was in that moment that an even deeper bond was formed among us,” Alexandra adds.

An embrace of hope

For Dumitrache Nicoleta, one of the colleagues affected by the flood, the support received was much more than material aid. “When I learned that my colleagues were organizing to help us, I was overwhelmed with emotion. It was incredible to see how much empathy and solidarity surrounded us.”

A particularly touching moment for her was when one of the volunteers hugged her mother, reassuring her that everything would be okay. “That gesture of humanity meant the world to us. It made us feel less alone in a moment when it felt like everything was against us.”

Rebuilding together

Despite the many ongoing challenges, from rebuilding the house to managing financial losses, the support, both material and emotional, has provided a foundation to move forward. “For my family, this assistance meant security and hope, two things we desperately needed,” Nicoleta shares.

For the volunteers, the experience was equally impactful. “We learned how powerful teamwork can be in emergencies,” Alexandra emphasizes. “Together, we can overcome any difficulty. This has made us more united and proud to be part of Centrico Selir.”

A message of gratitude

“I want to thank my colleagues for their empathy and willingness to help,” concludes Nicoleta. “It was a wonderful gesture during an incredibly difficult time and allowed me to see my colleagues in a new perspective: as people willing to make sacrifices to help others. It showed me how important it is to work in an environment where we support one another, not just professionally but personally as well.”

This story demonstrates that in the face of calamities, solidarity and concrete gestures can transform a tragedy into a new opportunity for growth. It is this strength, built on tangible actions and shared humanity, that makes it possible to face any challenge together.

This spirit of community extends beyond a single event, as seen in the smiles of the children at Eureka School. Thanks to Centrico India colleagues, they enjoyed a special Saturday with fun and practical workshops. Initiatives like these prove that volunteering is a universal language, capable of uniting people and leaving a profound impact on both those who give and those who receive.

Share and participate to the discussion