Guía y Apoyo técnico
Se ha producido un error al procesar la plantilla.
Range start index 1440 is out of bounds, because the sliced sequence has only 36 element(s). (Note that indices are 0-based).
The blamed expression:
==> desde..(hasta_index -1) [in template "33179#33220#644017" at line 104, column 38]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign contenidos = contenidos[desde... [in template "33179#33220#644017" at line 104, column 5]
----
1<#assign siteId = themeDisplay.getScopeGroupId() />
2
3<#assign indicatorConfiguration = "Indicator-Compilation-Programme-Guidance" />
4
5<#-- Obtenemos la configuración de 'Indicator-Compilation-Programme-Guidance' -->
6<#assign configuracionIndicadores = restClient.get("/c/configuracioninstancias/?fields=json&filter=title eq '" + indicatorConfiguration + "'&sort=") />
7<#assign categoriaIndicadora = configuracionIndicadores.items[0] />
8
9<#-- Extraemos el id de la carpeta de donde obtendremos los artículos -->
10<#list categoriaIndicadora as indicador, jsonString>
11 <#assign folderId = jsonString?keep_after('"folderId":"')?keep_before('"')>
12</#list>
13
14<#assign contenidos = []>
15
16<#--assign orden = themeDisplay.getURLCurrent()?keep_after("sort=") -->
17
18<#assign url = themeDisplay.getURLCurrent()>
19<#assign queryString = url?keep_after("?")>
20<#assign params = queryString?split("&")>
21
22<#assign orden = "" >
23<#assign delta = "" > <#-- Número de elementos a mostrar por defecto -->
24<#assign start = "" > <#-- Empieza en la página 'start' por defecto -->
25
26<#-- Extraer los parámetros de la url si existen -->
27<#list params as p>
28 <#if p?starts_with("sort=")>
29 <#assign orden = p?keep_after("sort=")>
30 </#if>
31 <#if p?starts_with("delta=")>
32 <#assign delta = p?keep_after("delta=")?number>
33 </#if>
34 <#if p?starts_with("start=")>
35 <#assign start = p?keep_after("start=")?number>
36 </#if>
37</#list>
38
39<#-- Valores por defecto -->
40<#assign delta = (delta?has_content)?then(delta?number, 20)>
41<#assign start = (start?has_content)?then(start?number, 0)>
42
43<#-- Obtenemos el id de la plantilla -->
44<#assign contentTemplate = restClient.get("/headless-delivery/v1.0/sites/" + siteId + "/content-templates?fields=id,name&sort=") />
45<#list contentTemplate.items as item>
46 <#if item.name == "Guía y apoyo técnico">
47 <#assign contentTemplateId = item.id />
48 </#if>
49</#list>
50
51<#-- Obtenemos las carpetas hijas, y por cada una de ellas obtenemos los contenidos -->
52<#assign folders = restClient.get("/headless-delivery/v1.0/structured-content-folders/" + folderId + "/structured-content-folders?fields=id&sort=") />
53
54<#list folders.items as folder>
55 <#if folders?? && folders?has_content && folders.items?? && folders.items?has_content>
56 <#assign structuredContentsFolders = restClient.get("/headless-delivery/v1.0/structured-content-folders/" + folder.id + "/structured-contents?sort=") />
57 <#list structuredContentsFolders.items as contents>
58 <#if structuredContentsFolders?? && structuredContentsFolders?has_content && structuredContentsFolders.items?? && structuredContentsFolders.items?has_content>
59
60 <#-- Creamos un objeto con los datos necesarios para pintar, ordenar y paginar -->
61 <#assign nuevoContenido = {
62 "key": contents.key,
63 "siteId": contents.siteId,
64 "title": contents.title,
65 "datePublished": contents.datePublished
66 }>
67
68 <#-- Añadimos el contenido a la lista -->
69 <#assign contenidos = contenidos + [nuevoContenido]>
70 </#if>
71 </#list>
72 </#if>
73</#list>
74
75<#-- Por defecto, ordenamos por título -->
76
77<#if contenidos?has_content && contenidos?? && !orden?has_content>
78 <#assign contenidos =contenidos?sort_by("title")>
79</#if>
80
81<#-- Ordenamos el contenido -->
82<#if orden?has_content && orden??>
83 <#if orden == "title-">
84 <#assign contenidos = contenidos?sort_by("title")>
85 <#elseif orden == "title%2B">
86 <#assign contenidos = contenidos?sort_by("title")?reverse>
87 <#elseif orden == "createDate-">
88 <#assign contenidos = contenidos?sort_by("datePublished")>
89 <#elseif orden == "createDate%2B">
90 <#assign contenidos = contenidos?sort_by("datePublished")?reverse>
91 </#if>
92</#if>
93
94<#-- Calculamos la paginación -->
95<#assign from_index = start>
96
97<#if from_index == 0 || start == 1 || from_index == 1 || start == 0>
98 <#assign contenidos = contenidos[0..(delta - 1)]>
99<#else>
100
101 <#assign desde = delta * (from_index -1)>
102 <#assign hasta = delta * (from_index -1) + delta>
103 <#assign hasta_index = (hasta?number > contenidos?size)?then(contenidos?size, hasta)>
104 <#assign contenidos = contenidos[desde..(hasta_index -1)]>
105</#if>
106
107<#list contenidos as contenido>
108 <div class="cre-section">
109 <div class="row">
110 <div class="col-md-12">
111 <div class="cre-emergency">
112 <@liferay_journal["journal-article"]
113 articleId=contenido.key?string
114 ddmTemplateKey=contentTemplateId
115 groupId=contenido.siteId
116 />
117 </div>
118 </div>
119 </div>
120 </div>
121</#list>
