Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> friendlyURLs[themeDisplay.getLanguageId()]  [in template "20098#20124#38941" at line 4, column 16]

----
Tip: It's the final [] step 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: url_art = friendlyURLs[themeDisplay.g...  [in template "20098#20124#38941" at line 4, column 5]
----
1<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
2 
3    group_id = themeDisplay.getSiteGroupId()  
4    url_art =  friendlyURLs[themeDisplay.getLanguageId()]?keep_after("/-/") 
5 
6    articulo = JournalArticleLocalService.fetchArticleByUrlTitle(group_id, url_art) 
7     
8    nombre_art = articulo.getTitle(locale) 
9
10<style> 
11section#content { 
12    padding: 0; 
13
14</style> 
15 
16<script> 
17    var nombre_credito = "${titulo.getData()}"; 
18    var tasa_credito = "${CajaDeTextohpph.getData()}"; 
19    var plazo_credito = "${CajaDeTexto73kc.getData()}"; 
20 
21</script> 
22 
23 
24 <div class="container-fluid margen_creditos"> 
25      <#if (banner.getData())?? && banner.getData() != ""> 
26          <img class="img-responsive sty_img_creditos" alt="${banner.getAttribute("alt")}" data-fileentryid="${banner.getAttribute("fileEntryId")}" src="${banner.getData()}" /> 
27      </#if> 
28 </div> 
29 <!-- Ruta de navegación embebido --> 
30 <div class="col-12 mt-3"> 
31    <@liferay_portlet["runtime"] 
32        portletName = "com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet"/> 
33  </div> 
34 <div class="container"> 
35    <div class="row"> 
36        <div class="col-12 col-md-3"> 
37        <!-- Menu contextual embebido --> 
38          <div> 
39              <@liferay_portlet["runtime"] 
40                  portletName = "com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_abc123" 
41              /> 
42          </div>                 
43        <!-- contenido publicidad embebido -->         
44          <div>     
45              <@liferay_portlet["runtime"] 
46                portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" 
47              /> 
48          </div>             
49        </div> 
50        <div class="col-12 col-md-9"> 
51        <!-- contenido preinscripción embebido -->  
52            <div>             
53              <@liferay_portlet["runtime"] 
54                portletName = "com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_226621"/>  
55            </div>  
56            <div class="col-12 pt-4 pb-2"> 
57                <h1>${titulo.getData()}</h1>           
58            </div>     
59            <div class="col-12">     
60                <div class="row"> 
61                    <div class="col-12 col-md-12"> 
62                        <div class="indicadores_creditos"> 
63                            <span class="negri_ta_creditos">Estudio &nbsp;</span> ${Textobhxd.getData()} 
64                        </div> 
65                        <div class="indicadores_creditos"> 
66                            <span class="negri_ta_creditos">Crédito &nbsp;</span> ${Textovoz4.getData()} 
67                        </div>    
68                        <div class="indicadores_creditos"> 
69                            <span class="negri_ta_creditos">Estudiar en &nbsp;</span> ${Texto1ens.getData()} 
70                        </div>   
71                        <div class="indicadores_creditos"> 
72                            <span class="negri_ta_creditos">Tasa &nbsp;</span> ${Texto21cw.getData()} 
73                        </div>     
74                        <div class="indicadores_creditos"> 
75                            <span class="negri_ta_creditos">Para población &nbsp;</span> ${Texto2fef.getData()} 
76                        </div>                         
77                    </div>     
78                </div>     
79            </div> 
80 
81            <!--Cuerpo del comunicado--> 
82             
83            <br> 
84            <div class="shadow-sm rounded-lg bg-white p-3 col-12 cuerpo_comunicado_creditos"> 
85                <div class="row"> 
86                    <div class="col-lg-1 col-2 d-flex"> 
87                    <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-arrow-right-circle negri_ta_creditos mx-auto" viewBox="0 0 16 16"> 
88                    <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/> 
89                    </svg> 
90                    </div> 
91                    <div class="col-lg-11 col-10"> 
92                        <p class="negri_ta_creditos">Ejemplo &nbsp;</p> 
93                        ${basic_info.getData()} 
94                    </div> 
95                </div> 
96            </div> 
97     
98            <!--botones de solicitud einformación--> 
99            <div class="col-12 dst_btns_creditos mt-3"> 
100                <br> 
101                <a target="_blank" href="${LinkBoton.getData()}" class="solicitar_creditos ajuste_btns_creditos">Solicitar tu crédito</a>  
102                <a target="_blank"  href="https://www.youtube.com/playlist?list=PLXvf9m99rgoCdBErKX3j8i7BqzRsjiUcD" class="simular_creditos ajuste_btns_creditos">Aprende a llenar tu solicitud</a> 
103                <a href="/documents/20122/326034/simulador-credito-educativo-tu-eliges-SC.xlsm" class="simular_creditos ajuste_btns_creditos">Simular tu crédito</a>     
104                <br> 
105            </div> 
106        </div> 
107    </div> 
108 </div> 
109  <div class="container-fluid"> 
110    <div class="row"> 
111        <div class="col-12 bg-white"> 
112            <div class="info_tu_credito pt-1"> 
113                <#assign webContentData = jsonFactoryUtil.createJSONObject(ContenidoWeb10a0.getData()) /> 
114     
115                <#if webContentData.classPK??> 
116     
117                    <#assign JournalArticle =serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
118     
119                    <#assign article = JournalArticle.fetchLatestArticle(webContentData.classPK?number) > 
120     
121     
122                    <!--Contenido web seleccionado en campo de estructura--> 
123                    ${JournalArticle.getArticleContent(article, article.DDMTemplateKey, VIEW, article.defaultLanguagueId, portletRequestModel, themeDisplay)}     
124                    <br>                               
125                </#if> 
126     
127            </div> 
128     
129            <div class="show pestañas"> 
130     
131                <#assign webContentData2 = jsonFactoryUtil.createJSONObject(ContenidoWeb20vf.getData()) /> 
132     
133                <#if webContentData2.classPK??> 
134     
135                    <#assign JournalArticle =serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
136     
137                    <#assign article = JournalArticle.fetchLatestArticle(webContentData2.classPK?number) >  
138     
139                    <!--Contenido web seleccionado en campo de estructura--> 
140                    ${JournalArticle.getArticleContent(article, article.DDMTemplateKey, VIEW, article.defaultLanguagueId, portletRequestModel, themeDisplay)} 
141     
142                    <br>                               
143                </#if> 
144            </div> 
145        </div> 
146    </div> 
147  </div>