Proyectos
 Se ha producido un error al procesar la plantilla. 
         
          
           
         
        
       The following has evaluated to null or missing:
==> LayoutLocalServiceUtil.fetchLayout(enlaceJson.groupId?number,enlaceJson.privateLayout,enlaceJson.layoutId?number)  [in template "20096#20121#56739" at line 42, column 41]
----
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 layout = LayoutLocalServiceUt...  [in template "20096#20121#56739" at line 42, column 25]
----
         1<#assign LayoutLocalServiceUtil = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] /> 
           2<#assign LocaleUtil = staticUtil["com.liferay.portal.kernel.util.LocaleUtil"]> 
           3<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] /> 
           4<#assign DLFileEntryLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"]> 
           5<#assign DlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] /> 
           6	 
           7<div class="d-flex align-items-center"> 
           8    <h2 class="slm-content-title font-weight-bold mb-0 h3"> 
           9        <@liferay.language key="slm-a-un-clic" /> 
           10    </h2> 
           11    <hr class="flex-grow-1 slm-hr-title"> 
           12</div> 
           13 
           14<div class="container clic"> 
           15	<div class="d-flex justify-content-center flex-column flex-lg-row align-items-center align-items-lg-start"> 
           16		<#if entries?has_content> 
           17			<#list entries as curEntry> 
           18                <#assign renderer = curEntry.getAssetRenderer() > 
           19                <#assign className = renderer.getClassName() > 
           20                <#assign journalArticle = renderer.getArticle() > 
           21                <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) > 
           22                <#assign rootElement = document.getRootElement() >  
           23                <#assign ddmStructure = journalArticle.getDDMStructure() /> 
           24                <#assign url=""> 
           25                <#assign categorias=curEntry.getCategories()> 
           26                         
           27                <#assign urlExterna=""> 
           28                <#assign friendlyUrl=""> 
           29                <#assign target=""> 
           30 
           31				<#if ((saxReaderUtil.createXPath("dynamic-element[@field-reference='NuevaPestana']/dynamic-content").selectSingleNode(rootElement))??)?then(true,false)> 
           32                    <#assign nuevaPestana = saxReaderUtil.createXPath("dynamic-element[@field-reference='NuevaPestana']/dynamic-content").selectSingleNode(rootElement)> 
           33                    <#if nuevaPestana.getData()=="true"> 
           34                        <#assign target='target="_blank"'> 
           35                    </#if> 
           36                </#if> 
           37 
           38                <#if (saxReaderUtil.createXPath("dynamic-element[@field-reference='EnlacePagina']/dynamic-content").selectSingleNode(rootElement).getStringValue())??> 
           39                    <#assign enlace = saxReaderUtil.createXPath("dynamic-element[@field-reference='EnlacePagina']/dynamic-content").selectSingleNode(rootElement).getStringValue() >  
           40                    <#assign enlaceJson=JSONFactoryUtil.createJSONObject(enlace)> 
           41                    <#if enlaceJson.has("groupId") && enlaceJson.has("privateLayout") && enlaceJson.has("layoutId")> 
           42                        <#assign layout=LayoutLocalServiceUtil.fetchLayout(enlaceJson.groupId?number,enlaceJson.privateLayout,enlaceJson.layoutId?number)> 
           43                        <#assign friendlyMap=layout.getFriendlyURLMap()> 
           44                         
           45                        <#list friendlyMap as key,value> 								 
           46                            <#if key==LocaleUtil.getDefault()>                                     
           47                                <#assign friendlyUrlDefault=value>		                        
           48                            </#if> 
           49                            <#if key==locale> 
           50                                <#assign friendlyUrl=value> 
           51                            </#if> 
           52                        </#list>    
           53                        <#if friendlyUrl==""> 
           54                            <#assign friendlyUrl=friendlyUrlDefault> 
           55                        </#if> 
           56                    </#if> 
           57                </#if>			 
           58								 
           59				<#if (saxReaderUtil.createXPath("dynamic-element[@field-reference='UrlExterna']/dynamic-content").selectSingleNode(rootElement).getStringValue())??> 
           60                    <#assign urlExterna = saxReaderUtil.createXPath("dynamic-element[@field-reference='UrlExterna']/dynamic-content").selectSingleNode(rootElement).getStringValue() > 
           61                 </#if> 
           62                 
           63                <#assign url=friendlyUrl> 
           64                <#assign filtrado=""> 
           65 
           66 
           67                <#if (saxReaderUtil.createXPath("dynamic-element[@field-reference='Seleccionar']/dynamic-content").selectSingleNode(rootElement).getStringValue())??> 
           68                <#assign seleccionado=saxReaderUtil.createXPath("dynamic-element[@field-reference='Seleccionar']/dynamic-content").selectSingleNode(rootElement).getStringValue()>				 
           69                    <#switch seleccionado> 
           70											  <#case "Opción34258555"> 
           71                            <#assign imgSrc="${themeDisplay.getPathThemeImages()}/salamanca/icons/Info.png"> 
           72                            <#assign imgAlt=""> 
           73                        <#break> 
           74                        <#case "Opción57833019"> 
           75                            <#assign imgSrc="/documents/d/guest/search-svg"> 
           76                            <#assign imgAlt=""> 
           77                        <#break> 
           78                        <#case "Opción57876319"> 
           79                            <#assign imgSrc="${themeDisplay.getPathThemeImages()}/salamanca/icons/Hoja.png"> 
           80                            <#assign imgAlt=""> 
           81                        <#break> 
           82												<#case "Opción69689919"> 
           83                            <#assign imgSrc="/documents/d/guest/slm-flecha"> 
           84                            <#assign imgAlt=""> 
           85                        <#break> 
           86												<#case "Opción18888398"> 
           87                            <#assign imgSrc="/documents/d/guest/slm-rayos"> 
           88                            <#assign imgAlt=""> 
           89                        <#break> 
           90												<#case "Opción97695902"> 
           91                            <#assign imgSrc="/documents/d/guest/slm-compartir"> 
           92                            <#assign imgAlt=""> 
           93                        <#break> 
           94												<#case "Opción18001704"> 
           95                            <#assign imgSrc="/documents/d/guest/slm-"> 
           96                            <#assign imgAlt=""> 
           97                        <#break> 
           98												<#case "Opción22055952"> 
           99                            <#assign imgSrc="/documents/d/guest/010icono"> 
           100                            <#assign imgAlt=""> 
           101                        <#break> 
           102												<#case "Opción04891957"> 
           103                            <#assign imgSrc="${themeDisplay.getPathThemeImages()}/salamanca/icons/Telefono.png"> 
           104                            <#assign imgAlt=""> 
           105                        <#break> 
           106                        <#default> 
           107                            <#assign imgSrc="${themeDisplay.getPathThemeImages()}/salamanca/icons/LapizRegla.png"> 
           108                            <#assign imgAlt=""> 
           109                    </#switch> 
           110                </#if> 
           111                 
           112 
           113                <#assign url = url + filtrado> 
           114                <#if urlExterna!=""> 
           115                    <#assign url =urlExterna> 
           116                </#if> 
           117               
           118                <div class="d-flex justify-content-start flex-column px-5 mb-5"> 
           119                    <a href='${url}'class="d-flex justify-content-start slm-directorio-link font-weight-bold salamanca-link-secondary title-small" ${target}> 
           120                        <span class="d-block " style="word-break:normal;"> 
           121                            <span class="width-imagen d-block rounded-circle bg-slm-azul-claro mb-3 " style="margin: 0 auto;"> 
           122                                <img style="height:auto;" alt="${imgAlt}" class="p-4 w-100 " src="${imgSrc}"/> 
           123                            </span> 
           124                         
           125                            <span class="slm-enlace-click-text"> 
           126                                ${curEntry.getTitle(locale)} 
           127                            </span> 
           128                        </span>                    
           129                    </a> 
           130				</div>				 
           131  		    </#list> 
           132		</#if> 
           133	</div> 
           134</div> 
           135 
           136<style> 
           137    .clic .width-imagen{ 
           138        min-width: 6rem; 
           139        width: 6rem; 
           140        max-width: 6rem;  
           141    } 
           142    .slm-directorio-link{ 
           143        /*width: 80% !important;*/ 
           144        display: block; 
           145        text-align: center; 
           146        margin: 0 auto; 
           147    } 
           148    .slm-enlace-click-text { 
           149        width: 155px; 
           150        display: block; 
           151    } 
           152</style> 
           
                    