Publicador de contenidos

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> childCategories  [in template "20101#20128#7652596" at line 111, column 48]

----
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: #list childCategories as childCat  [in template "20101#20128#7652596" in function "categoryNameOrder" at line 111, column 41]
----
1<#assign  
2	journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3/> 
4 
5<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
6 
7<#assign parentCategoryId=paramUtil.getString(request, "categoryId", "0")  
8		 count=0 
9		 first=true/> 
10<#if parentCategoryId!="0"> 
11	<p>${AssetCategoryLocalService.getCategory(parentCategoryId?number).getTitle(locale)}</p> 
12	<#assign childCategories=AssetCategoryLocalService.getChildCategories(parentCategoryId?number) 
13	categoryMenu=childCategories[count] 
14	/> 
15</#if> 
16<table style="width:100%" class="table table-bordered"> 
17	<col> 
18	<col> 
19	<colgroup span="2"> 
20	<tr> 
21		<th rowspan="2" scope="rowgroup"><@liferay.language key="name"/></th> 
22		<th rowspan="2" scope="rowgroup"><@liferay.language key="palma-sede-final-approval"/></th> 
23		<th colspan="2" scope="colgroup"><@liferay.language key="palma-sede-publication"/></th> 
24	</tr> 
25	<tr> 
26		<th><@liferay.language key="palma-sede-num"/></th> 
27		<th><@liferay.language key="date"/></th> 
28	</tr> 
29<#if entries?has_content> 
30 
31	<#list categoryNameOrder(entries) as curEntry> 
32		<#assign  
33			assetRenderer = curEntry.entry.getAssetRenderer() 
34			viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry.entry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) 
35			journalArticle = assetRenderer.getArticle() 
36			document = saxReaderUtil.read(journalArticle.getContent()) 
37			rootElement = document.getRootElement() 
38			categories=AssetCategoryLocalService.getCategories('com.liferay.journal.model.JournalArticle',journalArticle.resourcePrimKey) 
39		/> 
40		<#list rootElement.elements() as element> 
41			<#if element.attributeValue("name")=="FechaCreacion"> 
42				<#if element.data!=""> 
43								<#assign fechaCreaOrdenanza = element.element("dynamic-content").getText()> 
44							<#else> 
45								<#assign fechaCreaOrdenanza = ""> 
46							</#if> 
47						</#if> 
48			<#if element.attributeValue("name")=="MedioPublicacion"> 
49				<#if element.data!=""> 
50								<#assign medioOrdenanza = element.element("dynamic-content").getText()> 
51							<#else> 
52								<#assign medioOrdenanza = ""> 
53							</#if> 
54						</#if> 
55			<#if element.attributeValue("name")=="FechaPublicacion"> 
56				<#if element.data!=""> 
57								<#assign fechaPubliOrdenanza = element.element("dynamic-content").getText()> 
58							<#else> 
59								<#assign fechaPubliOrdenanza = ""> 
60							</#if> 
61						</#if> 
62					</#list> 
63		<#if validator.isNotNull(fechaCreaOrdenanza)> 
64			<#assign fechaCreaOrdenanza_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaCreaOrdenanza, locale)> 
65			<#assign fechaCreaOrdenanza =fechaCreaOrdenanza_DateObj?date?string["dd'/'MM'/'yyyy"]/> 
66		</#if> 
67		<#if validator.isNotNull(fechaPubliOrdenanza)> 
68			<#assign fechaPubliOrdenanza_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPubliOrdenanza, locale)> 
69			<#assign fechaPubliOrdenanza =fechaPubliOrdenanza_DateObj?date?string["dd'/'MM'/'yyyy"]/> 
70		</#if> 
71		<#list categories as category> 
72			<#if categoryMenu.getParentCategoryId()==category.getParentCategoryId()> 
73				<#if first && curEntry?is_first && categoryMenu.getCategoryId()==category.getCategoryId()> 
74					<#assign first=false/> 
75					<tr><td><b><p>${category.getTitle(locale)}</p></b> 
76				<#elseif categoryMenu.getCategoryId()!=category.getCategoryId()> 
77					<#assign countChild=0/> 
78					<#list childCategories as childCategory> 
79						<#if childCategory.getCategoryId()!=category.getCategoryId()> 
80							<#assign countChild=countChild?number+1/> 
81						<#else> 
82							<#break> 
83						</#if>			 
84					</#list> 
85						<#assign  
86							count=countChild 
87							categoryMenu=childCategories[count] 
88						/> 
89						<#if categoryMenu.getCategoryId()==category.getCategoryId()> 
90							<tr><td><b><p>${category.getTitle(locale)}</p></b></td></tr> 
91						</#if> 
92					 
93				</#if> 
94			</#if> 
95		</#list> 
96		<tr><td><p class="mr-5"><a href="${viewURL}">${curEntry.entry.getTitle(locale)}</a></p></td> 
97		<td>${fechaCreaOrdenanza}</td><td>${medioOrdenanza}</td><td>${fechaPubliOrdenanza}</td></tr> 
98	</#list> 
99</#if> 
100</table> 
101<#function categoryNameOrder entries> 
102	<#assign dynamicElements = [] /> 
103		<#if entries?has_content> 
104			<#list entries as curEntry> 
105				<#assign  
106					assetRenderer = curEntry.getAssetRenderer() 
107					journalArticle = assetRenderer.getArticle() 
108					categories=AssetCategoryLocalService.getCategories('com.liferay.journal.model.JournalArticle',journalArticle.resourcePrimKey) 
109				/> 
110				<#list categories as cat> 
111					<#list childCategories as childCat> 
112						<#if cat.getCategoryId()==childCat.getCategoryId()> 
113							<#assign dynamicElements = dynamicElements + [ {"sortField":cat.getName(), "entry": curEntry, "name": curEntry.getTitle(locale)}]/> 
114						</#if> 
115					</#list> 
116				</#list> 
117			</#list> 
118		</#if> 
119	<#assign dynamicElements = dynamicElements?sort_by("sortField") /> 
120	<#return dynamicElements> 
121</#function>