Ordena
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> customDDMTemplateUtil  [in template "975784#975823#10092953" at line 17, column 112]

----
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: @liferay_journal["journal-article"] a...  [in template "975784#975823#10092953" at line 15, column 65]
----
1<#if entries?has_content> 
2	<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
3    <div class="mj-catalogo"> 
4		<#list entries as curEntry> 
5			<#if curEntry.className == "com.liferay.journal.model.JournalArticle"> 
6				<#assign article = journalArticleLocalService.fetchLatestArticle(curEntry.classPK)>  
7				<#assign ddmStructureKey = article.DDMStructureKey> 	 
8				<#-- Se recuperan las structureKeys de cada tipo de catalogo, para evitar el uso de Ids numéricos --> 
9				<#assign ddmStructureKeyServicio = getStructureKeyByStructureName("STC_SERVICIO")> 
10        <#assign ddmStructureKeySolucion = getStructureKeyByStructureName("STC_SOLUCION")> 
11		 
12				<#switch ddmStructureKey> 
13               <#case ddmStructureKeyServicio> 
14								<!-- Estructura de servicios -->								 
15								<@liferay_journal["journal-article"] 
16                        articleId=article.articleId 
17												ddmTemplateKey=customDDMTemplateUtil.getDDMTemplateKeyByPatternArticleIdGroupId("TMP_SERVICIO_RESUMEN", article.articleId, scopeGroupId) 
18                        groupId=article.groupId?number 
19                    /> 
20								<#break> 
21							<#case ddmStructureKeySolucion> 
22									<!-- Estructura de soluciones --> 
23									<@liferay_journal["journal-article"] 
24									articleId=article.articleId 
25									ddmTemplateKey=customDDMTemplateUtil.getDDMTemplateKeyByPatternArticleIdGroupId("TMP_SOLUCION_SEARCH_RESULT", article.articleId, scopeGroupId) 
26									groupId=article.groupId?number 
27								/> 
28							<#break> 
29						</#switch>																								 
30			</#if> 
31		</#list> 
32	</div> 
33</#if> 
34 
35<#-- Función para recuperar el structureKey de una estructura por nombre --> 
36<#function getStructureKeyByStructureName name> 
37 <#assign ddmStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") /> 
38 <#assign structures = ddmStructureLocalService.getStructures(groupId)> 
39  
40 <#list structures as structure>  		   
41		    <#if structure.getNameCurrentValue() == name>            
42						<#return structure.structureKey> 
43				</#if> 
44    </#list>    
45</#function>