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> 

Partnership strategica tra Sella e MagnoLab per soluzioni innovative a impatto nel settore tessile

Update
Open Innovation

Partnership strategica tra Sella e MagnoLab per soluzioni innovative a impatto nel settore tessile

Nasce un’alleanza tra industria, innovazione responsabile e finanza volta a rafforzare la competitività delle imprese tessili sul mercato italiano e internazionale
Partnership strategica tra Sella e MagnoLab per soluzioni innovative a impatto nel settore tessile
Gli spazi di MagnoLab

Sella entra a far parte di MagnoLab, il network di 26 aziende industriali del distretto biellese, impegnate nello sviluppo di soluzioni concrete di ricerca, innovazione ed economia circolare lungo l’intera filiera tessile, con l’obiettivo di sostenere e rafforzare la competitività delle imprese sul mercato italiano e internazionale

L’ingresso del Gruppo rappresenta un passo significativo nel percorso di MagnoLab verso l’adozione dell’innovazione a impatto come soluzione abilitante della competitività industriale, capace di coniugare efficienza nei processi, sostenibilità e crescita nel lungo periodo.

MagnoLab è una rete di imprese attiva dal 2022, unica a livello europeo grazie ad una piattaforma industriale fisica composta da impianti pilota, concentrata in un’unica sede a Cerrione (Biella), che riproduce tutti gli anelli della filiera tessile – dalla preparazione delle fibre alla filatura, tessitura, tintoria e finissaggio – e consente cicli di sperimentazione rapidi e direttamente trasferibili su scala industriale.

Secondo un recente studio di Confindustria Moda, il fatturato del comparto tessile Made in Italy nel 2025 è previsto a circa 18,2 miliardi di euro. Altre analisi evidenziano, inoltre, che gli investimenti in innovazione si attestano intorno al 6%, pari a circa un miliardo di euro.

L’ingresso di Sella in MagnoLab nasce dall’obiettivo condiviso di portare nuove competenze di innovazione a impatto a supporto delle imprese del settore tessile, accompagnandole nella lettura dei cambiamenti, rafforzandone la competitività e la capacità di adattarsi in modo efficace alle evoluzioni della domanda. All’interno di questo scenario, Sella contribuirà attivamente alle iniziative del distretto, partecipando al Comitato per l’Innovazione e collaborando allo sviluppo di progetti con le imprese del network.

Grazie all’adesione di Sella, MagnoLab rafforza e amplia la propria mission che punta a promuovere l’innovazione attraverso un approccio sistemico, partendo dalla filiera produttiva e coinvolgendo partner strategici e complementari, per favorire nuove opportunità di crescita.

“Questa partnership è di particolare rilevanza strategica perché, per la prima volta, un gruppo bancario entra nel network MagnoLab. Una scelta coerente con il nostro approccio all’innovazione, basato su apertura, concretezza e misurabilità. Il confronto diretto con un settore d’eccellenza come quello tessile ci consente di unire competenze industriali, tecnologiche, finanziarie e di impatto, accompagnando le imprese in un percorso strutturato di crescita” commenta Stefano Azzalin, Head of Innovation del gruppo Sella.

“L'ingresso di Sella in MagnoLab è per noi un momento di grande significato. Le competenze e la visione che Sella porta nel network vanno ben oltre il perimetro finanziario, ampliando la nostra capacità collettiva di affrontare le sfide del settore. MagnoLab nasce dalla consapevolezza condivisa di un bisogno urgente e concreto di innovazione nel tessile italiano: questa è stata la scintilla che ha unito le aziende fondatrici e rimane oggi il nostro legame più autentico. Su questi valori siamo felici di percorrere con Sella nuovi, stimolanti percorsi” dichiara Giovanni Marchi, Presidente MagnoLab.

Share and participate to the discussion