Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> stringUtil.shorten(htmlUtil.stripHtml(descrizione), 200)  [in template "170938#170973#213091" at line 64, column 34]

----
Tip: If the failing expression is known to be 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: ${stringUtil.shorten(htmlUtil.stripHt...  [in template "170938#170973#213091" at line 64, column 32]
----
1<#assign  
2    DLAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] 
3    mkspAPI = serviceLocator.findService("eu.suggesto.suggestogui.service.SuggestoGuiLocalService") 
4    totale = 0 
5/> 
6 
7<#if entries?has_content> 
8    <#assign totale = entries?size> 
9</#if> 
10 
11<section id="strip_list_master"> 
12    <div class="container"> 
13        <div class="row"> 
14            <div class="title_section padding-element col-md-9"> 
15                <h3><span>I giovani</span> delle bande Trentine</h3> 
16            </div> 
17            <div class="search_list col-md-3"> 
18                <input name="search" class="field-icon" placeholder="Cerca nell'elenco" id="doc-search" type="search"> 
19                <p id="results" class="text-right m-3">Risultati: ${totale}</p> 
20            </div> 
21        </div> 
22        <#if entries?has_content> 
23            <#list entries as entry> 
24                <#assign 
25            		entry = entry 
26            		assetRenderer = entry.getAssetRenderer() 
27            		className = assetRenderer.getClassName() 
28            		entryTitle = htmlUtil.escape(assetRenderer.getTitle(themeDisplay.getLocale())) 
29            	/> 
30            	 
31            	<#if className == "com.liferay.journal.model.JournalArticle"> 
32            	    <#assign 
33            	        journalArticle = assetRenderer.getArticle() 
34                        document = saxReaderUtil.read(journalArticle.getContent()) 
35                        rootElement = document.getRootElement() 
36                    /> 
37                     
38                    <#assign stringSelector = "dynamic-element[@name='foto']"> 
39                    <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>  
40                    <#if xPathSelector.selectSingleNode(rootElement)??> 
41                        <#assign foto = xPathSelector.selectSingleNode(rootElement).getStringValue()> 
42                        <#assign fileEntryId = assetRenderer.getClassPK()> 
43                        <#assign jsonField = jsonFactoryUtil.createJSONObject(foto)> 
44                        <#assign fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId)> 
45                        <#assign foto = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid> 
46                    </#if> 
47                     
48                    <#assign stringSelector = "dynamic-element[@name='titolo_sezione']/dynamic-element[@name='descrizione_sezione']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']"> 
49                    <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>  
50                    <#if xPathSelector.selectSingleNode(rootElement)??> 
51                        <#assign descrizione = xPathSelector.selectSingleNode(rootElement).getStringValue()> 
52                    </#if> 
53                     
54                    <#assign viewUrl = mkspAPI.getArticleUrl(groupId, serverName, journalArticle.articleId, localeUtil.fromLanguageId(themeDisplay.getLocale()), localeUtil.fromLanguageId(themeDisplay.getLocale()), "/dettaglio-giovane")> 
55         
56                    <div class="row block_abstract align-items-center"> 
57                        <div class="col-md-3"> 
58                            <div class="img_master"> 
59                                <img src="${foto}" class="img-fluid" alt="${entryTitle}"> 
60                            </div> 
61                        </div> 
62                        <div class="col-md-7 info_master"> 
63                            <p class="name_master">${entryTitle}</p> 
64                            <p>${stringUtil.shorten(htmlUtil.stripHtml(descrizione), 200)}</p> 
65                        </div> 
66                        <div class="col-md-2 link_detail"> 
67                            <a href="${viewUrl}">Dettagli</a> <i class="fa fa-arrow-right"></i> 
68                        </div> 
69                    </div> 
70                </#if> 
71            </#list> 
72        </#if> 
73    </div> 
74</section> 
75 
76<#-- Search filter --> 
77<script> 
78    $("#doc-search").keyup(function(){ 
79        var filter = $(this).val().toLowerCase(), 
80            count = 0; 
81         
82        $(".block_abstract").each(function(){ 
83            if($(this).text().search(new RegExp(filter, "i")) < 0){ 
84                $(this).addClass("d-none"); 
85            }else{ 
86                $(this).removeClass("d-none"); 
87                count++; 
88
89        }); 
90         
91        $("#results").text("Risultati: " + count); 
92    }); 
93</script>