IFrame

HISTORIA_DECENIOS_BC4

Historia del ITESO

EL_ITESO_BL5

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica")  [in template "97#123#141411" at line 150, column 19]

----
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 basica = themeDisplay.getSite...  [in template "97#123#141411" at line 150, column 1]
----
1<style> 
2.acordion-bl5 button[aria-expanded="true"] a{ 
3    color:white; 
4
5.acordion-bl5 .collapsed a { 
6    color: #42b4e3 !important; 
7    text-decoration: none; 
8
9.acordion-bl5 .btn-link { 
10    color: #42b4e3; 
11    text-decoration: none; 
12
13 
14.acordion-bl5 .btn-link:focus{ 
15    box-shadow: none; 
16    text-decoration: none; 
17    color:white; 
18
19.acordion-bl5 .btn-link:hover { 
20    text-decoration: none; 
21    color:white; 
22
23.pasos a:hover{ 
24    text-decoration:none; 
25
26::-webkit-scrollbar { 
27    height: 9px; 
28    width: 9px; 
29    background: #e3e3e3; 
30
31 
32::-webkit-scrollbar-thumb { 
33    background: #42b4e3; 
34    -webkit-border-radius: 1ex; 
35    -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.75); 
36
37 
38::-webkit-scrollbar-corner { 
39    background: #e3e3e3; 
40
41.pasos .nav-pills .nav-link.active 
42
43    background:none; 
44    color:black; 
45     
46
47.text-blue-pasos-iteso 
48
49	color:#42b4e3; 
50
51 
52.bg-blue-iteso 
53
54	background:#004270; 
55
56.number-iteso 
57
58    border: 1px solid; 
59    width: 40px; 
60    height: 40px; 
61    
62
63.btn-link:focus { 
64    box-shadow: none; 
65    text-decoration: none; 
66
67.card-header .collapsed{ 
68    color:#42b4e3; 
69
70.tab-content-bl5 *{ 
71    font-size: 20px; 
72    font-style: normal; 
73    line-height: 1.38; 
74    color: #030a23; 
75
76.tab-content-bl5 * .table thead th{ 
77    border-bottom: 2px solid #42b4e3; 
78
79.tab-content-bl5 * .table th,.tab-content-bl5 * .table td { 
80    border-bottom: 1px solid #42b4e3; 
81    border-color: #42b4e3 !important; 
82
83.iframe-iteso{ 
84    margin-top:105px; 
85    margin-bottom:72px; 
86    margin-left:74px; 
87    margin-right:74px; 
88    padding-right: 3rem; 
89    padding-left: 1rem; 
90    font-family: 'Degular-Regular'; 
91    overflow-y: scroll; 
92    /*height: 855px;*/ 
93    height: 100%; 
94    overflow: hidden; 
95    /*box-shadow:0 4px 10px -2px rgb(0 0 0 / 10%);*/ 
96
97.iframe-iteso center iframe, 
98.mobile-bl5-scroll center iframe { 
99    width: 100%; 
100
101.lista-bl5{ 
102    font-size: 1.4em; 
103
104.detalle-colap-bl5{ 
105    margin-top:53px; 
106    overflow-y: scroll; 
107    height: 855px; 
108    box-shadow:0 4px 10px -2px rgb(0 0 0 / 10%); 
109
110 
111.acordion-bl5 .collapsed .number-iteso { 
112   border: 1px solid #42b4e3; 
113   color:#42b4e3; 
114
115.acordion-bl5 .collapsed .fa-plus-circle{ 
116    color:#42b4e3 !important; 
117
118.acordion-bl5 .fa-plus-circle{ 
119    color:white; 
120
121.acordion-bl5 .number-iteso { 
122   border: 1px solid white; 
123   color: white; 
124
125.acordion-bl5  .fa-plus-circle:before { 
126    content: "\f056"; 
127    /*menos*/ 
128
129 
130.acordion-bl5 .collapsed .fa-plus-circle:before { 
131    content: "\f055"; 
132    color: #42b4e3; 
133    /*menos*/ 
134
135.mobile-bl5-scroll{ 
136    overflow-y: scroll; 
137    height: 400px; 
138    padding-right: 30px; 
139    font-family: 'Degular-Regular'; 
140
141.mobile-bl5-scroll strong, 
142.mobile-bl5-scroll strong a, 
143.mobile-bl5-scroll ul li a{ 
144    /*color: #030a23;*/ 
145    color:black; 
146
147</style> 
148<#assign JournalArticleLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/> 
149<!-- custom Field --> 
150<#assign basica = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica")> 
151<#assign Basica_Liga = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica_Liga")> 
152<!-- Fin custom Field --> 
153<!-- Se obtienen lista de web content --> 
154<#assign url_public = themeDisplay.getPathFriendlyURLPublic()> 
155    <#if contenido1.getData()?has_content??> 
156        <#if contenido1.getData()?has_content && contenido1.getData()?matches("[0-9]+") > 
157            <#assign articles = []/> 
158            <#assign article = JournalArticleLocalServiceUtil.getLatestArticle(contenido1.getData()?number)> 
159            <#assign articles = articles + [article]/> 
160        </#if> 
161    </#if> 
162    <#if contenido2.getSiblings()?has_content>  
163        <#list contenido2.getSiblings() as cur_contenido2> 
164             <#if cur_contenido2.getData()?has_content> 
165                <#assign article2 = JournalArticleLocalServiceUtil.getLatestArticle(cur_contenido2.getData()?number)> 
166                <#assign articles = articles + [article2]/> 
167            </#if> 
168        </#list>  
169    </#if> 
170<!-- Fin de lista de web content --> 
171<!-- Funcion para obtener icono --> 
172<#function activarIcon contador isMobile> 
173    <#attempt> 
174        <#if isMobile == true> 
175            <#if getterUtil.getBoolean(icono.getData())> 
176                    <#return "<div><p class='number-iteso rounded-circle mr-3 mb-0 d-flex justify-content-center align-items-center'><i class='fas ${icono.selectIcon.getData()}'></i></p></div>"> 
177                <#else>  
178                    <#return "<div><p class='number-iteso rounded-circle mr-3 mb-0 d-flex justify-content-center align-items-center'>${contador}</p></div>"> 
179            </#if> 
180        <#else> 
181                <#if getterUtil.getBoolean(icono.getData())> 
182                    <#return "<div><p class='number-iteso rounded-circle d-flex justify-content-center align-items-center'><i class='fas ${icono.selectIcon.getData()}' style='font-size: 1.2em;'></i></p></div>"> 
183                <#else>  
184                    <#return "<div><p class='number-iteso rounded-circle d-flex justify-content-center align-items-center'>${contador}</p></div>"> 
185                </#if> 
186         </#if> 
187    <#recover> 
188      Fallo en la funcion activarIcon. 
189    </#attempt> 
190</#function> 
191<!-- Fin funcion para obtener icono --> 
192<section class="container-fluid pasos d-none d-lg-block" style="background-color: #eaecf0;"> 
193   <section class="py-7 container-it"> 
194      <section class="row"> 
195         <div class="col-md-12 col-lg-5 bg-blue-iteso degular-bold"> 
196            <section class="row justify-content-center"> 
197               <article class="col-10"> 
198                  <div class="nav flex-column nav-pills mb-4 pb-2" id="v-pills-tab" role="tablist" aria-orientation="vertical"> 
199                     <h4 class="text-white text-left" style="font-size: 2.813em;margin-top: 93px;margin-bottom: 75px;">${titulobl5.getData()}</h4> 
200                     <#assign x = 0> 
201                        <#if articles?has_content>  
202                            <#list articles as cur_artlist> 
203                                <#assign x ++> 
204                                <#assign documentlist = saxReaderUtil.read(cur_artlist.getContentByLocale(request.locale)) /> 
205                                <#assign rootlist = documentlist.getRootElement()> 
206                                <#assign titulo = rootlist.selectSingleNode("dynamic-element[@name='titulo']/dynamic-content").getText()/> 
207                                <!------------------------------basica liga---------------> 
208                                <#if cur_artlist.getStructureId() == Basica_Liga > 
209                                <#assign link = rootlist.selectSingleNode("dynamic-element[@name='link']/dynamic-content").getText()/> 
210                                <#assign linkjson = jsonFactoryUtil.createJSONObject(link)> 
211                                <#assign url  = rootlist.selectSingleNode("dynamic-element[@name='url']/dynamic-content").getText()/> 
212                                    <!---------- Validación de la liga -----------> 
213                                    <#if link != ""> 
214                                        <#assign linkid = link?split("@")> 
215                                        <#assign groupUtil = serviceLocator.findService('com.liferay.portal.kernel.service.GroupLocalService')> 
216                                        <#assign group = groupUtil.getGroup(cur_artlist.getGroupId())> 
217                                        <#assign groupFriendly = group.getFriendlyURL()> 
218                                        <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
219                                        <#assign layout = layoutService.getLayout(linkjson.getLong("groupId") , linkjson.getBoolean("privateLayout"),linkjson.getLong("layoutId"))> 
220                                        <#assign layoutFriendly = layout.getFriendlyURL()> 
221                                        <#assign link_page = "${url_public}${groupFriendly}${layoutFriendly}"> 
222                                        <!---------- Contruccion url con idenficador -----------> 
223                                        <a href="${link_page}"> 
224                                            <section class="d-flex justify-content-start align-items-center text-blue-pasos-iteso"> 
225                                            <article class="mr-3"> 
226                                                <!---------- Se obtine la funcion del icono -----------> 
227                                                ${activarIcon(x, false)} 
228                                            </article> 
229                                            <article> 
230                                                <!---------- Titulo de la lista -----------> 
231                                                <p class="lista-bl5" >${titulo}</p> 
232                                                <!---------- Fin de titulo de la lista -----------> 
233                                            </article> 
234                                            </section> 
235                                        </a> 
236                                        <!---------- Fin contruccion url con idenficador -----------> 
237                                    <#else> 
238                                        <#assign link_page = url> 
239                                        <!---------- Validacion de url con identificador de estructura -----------> 
240                                        <a href="${url}"> 
241                                            <section class="mb-3 d-flex justify-content-start align-items-center text-blue-pasos-iteso"> 
242                                                <article class="mr-3"> 
243                                                    <!---------- Se obtine la funcion del icono -----------> 
244                                                    ${activarIcon(x, false)} 
245                                                </article> 
246                                                <article> 
247                                                    <!---------- Titulo de la lista -----------> 
248                                                    <p class="lista-bl5">${titulo}</p> 
249                                                    <!---------- Fin de titulo de la lista -----------> 
250                                                </article> 
251                                            </section> 
252                                        </a> 
253                                        <!---------- Fin de validacion de url con identificador de estructura -----------> 
254                                    </#if> 
255                                    <!---------- Fin de validación de la liga -----------> 
256                            <#else> 
257                                <!------------------------------FIN basica liga---------------> 
258                                <#if x==1> 
259                                    <a class="nav-link p-0 active" id="v-pills-${x}-tab" data-toggle="pill" href="#v-pills-${x}" role="tab" aria-controls="v-pills-${x}" aria-selected="true"> 
260                                        <section class="mb-3 d-flex justify-content-start align-items-center text-blue-pasos-iteso"> 
261                                            <article class="mr-3"> 
262                                                <!---------- Se obtine la funcion del icono -----------> 
263                                                ${activarIcon(x, false)} 
264                                            </article> 
265                                            <article> 
266                                                <!---------- Titulo de la lista -----------> 
267                                                <p class="lista-bl5">${titulo}</p> 
268                                                <!---------- Fin de titulo de la lista -----------> 
269                                            </article> 
270                                        </section> 
271                                    </a> 
272                                <#else> 
273                                    <a class="nav-link p-0" id="v-pills-${x}-tab" data-toggle="pill" href="#v-pills-${x}" role="tab" aria-controls="v-pills-${x}" aria-selected="false"> 
274                                        <section class="mb-3 d-flex justify-content-start align-items-center text-blue-pasos-iteso"> 
275                                            <article class="mr-3"> 
276                                                <!---------- Se obtine la funcion del icono -----------> 
277                                                ${activarIcon(x, false)} 
278                                            </article> 
279                                            <article> 
280                                                <!---------- Titulo de la lista -----------> 
281                                                <p class="lista-bl5">${titulo}</p> 
282                                                <!---------- Fin de titulo de la lista -----------> 
283                                            </article> 
284                                        </section> 
285                                    </a> 
286                                </#if> 
287                            </#if> 
288                        </#list>  
289                    </#if> 
290                  </div>  
291               </article> 
292            </section> 
293        </div> 
294        <!---------- Seccion del contenido -----------> 
295        <div class="col-md-12 col-lg-7" style="background: white;"> 
296            <div class="tab-content tab-content-bl5 h-100" id="v-pills-tabContent"> 
297                <#assign y = 0> 
298                    <#if articles?has_content>  
299                        <!---------- Lista de articulos -----------> 
300                        <#list articles as cur_art> 
301                            <#assign y ++> 
302                            <#assign document = saxReaderUtil.read(cur_art.getContentByLocale(request.locale)) /> 
303                            <#assign root = document.getRootElement()> 
304                            <#assign Basica_Liga = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica_Liga")> 
305                                <!---------- Validacion de estructura -----------> 
306                                <#if cur_art.getStructureId() == Basica_Liga > 
307                                    <#assign link = root.selectSingleNode("dynamic-element[@name='link']/dynamic-content").getText()/> 
308                                    <#assign linkjson = jsonFactoryUtil.createJSONObject(link)> 
309                                    <#assign url  = root.selectSingleNode("dynamic-element[@name='url']/dynamic-content").getText()/> 
310                                <#else> 
311                                    <!---------- Obtener el detalle de los elementos -----------> 
312                                    <#assign tag = root.selectSingleNode("dynamic-element[@name='tag']/dynamic-content").getText()/> 
313                                    <#assign titulo = root.selectSingleNode("dynamic-element[@name='titulo']/dynamic-content").getText()/> 
314                                    <#assign IdGeneral = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("IdGeneral")> 
315                                        <#if root.selectSingleNode("dynamic-element[@name='detalle']/dynamic-content")??> 
316                                            <#assign detalle = root.selectSingleNode("dynamic-element[@name='detalle']/dynamic-content").getText()/> 
317                                        </#if> 
318                                        <#if y==1> <!-- Validacion para el iniciador de elementos --> 
319                                            <div class="tab-pane h-100 fade show active" style="padding-bottom: 10em;" id="v-pills-${y}" role="tabpanel" aria-labelledby="v-pills-${y}-tab"> 
320                                                <!-- Seccion del iframe --> 
321                                                <article class="iframe-iteso "> 
322                                                    <#if detalle??>  
323                                                    ${detalle} 
324                                                    </#if> 
325                                                </article> 
326                                                <!-- Fin de seccion del iframe --> 
327                                            </div> 
328                                        <#else> 
329                                            <div class="tab-pane h-100 fade " style="padding-bottom: 10em;" id="v-pills-${y}" role="tabpanel" aria-labelledby="v-pills-${y}-tab"> 
330                                                <!-- Seccion del iframe --> 
331                                                <article class="iframe-iteso "> 
332                                                    <#if detalle??>  
333                                                    ${detalle} 
334                                                    </#if> 
335                                                </article> 
336                                                <!-- Fin de seccion del iframe --> 
337                                            </div> 
338                                        </#if> 
339                                        <!---------- Fin de obtener el detalle de los elementos -----------> 
340                                </#if> 
341                                <!---------- Fin de validacion de estructura -----------> 
342                        </#list> 
343                        <!---------- Fin de lista de articulos -----------> 
344                    </#if> 
345            </div> 
346         </div> 
347        <!---------- fin de seccion del contenido -----------> 
348 
349      </section> 
350   </section> 
351</section> 
352<!----------------------------------- Seccion para movil ------------------------------> 
353<div id="accordion" class="degular-bold d-block d-lg-none acordion-bl5"> 
354    <!---------- Titulo para seccion movil -----------> 
355   <section class="bg-blue-iteso"> 
356      <h2 class="py-4 container-it m-0 text-white">${titulobl5.getData()}</h2> 
357   </section> 
358   <!---------- Fin de titulo para seccion movil -----------> 
359   <#assign w = 0> 
360   <#if articles?has_content>  
361        <!-------- Obteniendo la lista para movil --------> 
362        <#list articles as cur_artlist> 
363            <#assign w ++> 
364            <#assign documentlist = saxReaderUtil.read(cur_artlist.getContentByLocale(request.locale)) /> 
365            <#assign rootlist = documentlist.getRootElement()> 
366            <#assign titulo = rootlist.selectSingleNode("dynamic-element[@name='titulo']/dynamic-content").getText()/> 
367                <!-- Validando para obtener el detalle --> 
368                <#if rootlist.selectSingleNode("dynamic-element[@name='detalle']/dynamic-content")??> 
369                    <#assign detalle = rootlist.selectSingleNode("dynamic-element[@name='detalle']/dynamic-content").getText()/> 
370                </#if> 
371                <!-- Fin para validar el detalle --> 
372                <!--------------- Validacion basica liga ---------------> 
373                <#if cur_artlist.getStructureId() == Basica_Liga > 
374                    <#assign link = rootlist.selectSingleNode("dynamic-element[@name='link']/dynamic-content").getText()/> 
375                    <#assign linkjson = jsonFactoryUtil.createJSONObject(link)> 
376                    <#assign url  = rootlist.selectSingleNode("dynamic-element[@name='url']/dynamic-content").getText()/> 
377                        <!-- Validacion del link --> 
378                        <#if link != ""> 
379                            <#assign linkid = link?split("@")> 
380                            <#assign groupUtil = serviceLocator.findService('com.liferay.portal.kernel.service.GroupLocalService')> 
381                            <#assign group = groupUtil.getGroup(cur_artlist.getGroupId())> 
382                            <#assign groupFriendly = group.getFriendlyURL()> 
383                            <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
384                            <#assign layout = layoutService.getLayout(linkjson.getLong("groupId") , linkjson.getBoolean("privateLayout"),linkjson.getLong("layoutId"))> 
385                            <#assign layoutFriendly = layout.getFriendlyURL()> 
386                            <#assign link_page = "${url_public}${groupFriendly}${layoutFriendly}"> 
387                            <div class="card-header bg-blue-iteso rounded-0 container-it" id="heading${w}"> 
388                                <h5 class="mb-0 "> 
389                                    <button class="btn btn-link d-flex align-items-center justify-content-between w-100 collapsed p-0"  data-toggle="collapse" data-target="#collapse${w}" aria-expanded="false" aria-controls="collapse${w}"> 
390                                        <article class="d-flex  align-items-center">  
391                                            <a href="${link_page}"> 
392                                            ${activarIcon(w, true)} 
393                                                <a href="${link_page}" class="text-left" style="font-size: 1.2em;">${titulo}</a><!-- Se coloca la url para la lista del elemento --> 
394                                            </a> 
395                                        </article> 
396                                        <i class="fal fa-plus-circle" style="font-size: 30px;"></i> 
397                                    </button> 
398                                </h5> 
399                            </div> 
400                        <#else> 
401                            <!-- Se obtiene url de la estrutura y seccion para el vinculo --> 
402                            <#assign link_page = url> 
403                            <div class="card-header bg-blue-iteso rounded-0 container-it" id="heading${w}"> 
404                                <h5 class="mb-0 "> 
405                                    <button class="btn btn-link d-flex align-items-center justify-content-between w-100 collapsed p-0"  data-toggle="collapse" data-target="#collapse${w}" aria-expanded="false" aria-controls="collapse${w}"> 
406                                        <article class="d-flex  align-items-center"> 
407                                            ${activarIcon(w, true)} 
408                                            <!-- Se coloca la url para la lista --> 
409                                            <a  href="${url}" class="text-left" style="font-size: 1em;">${titulo}</a> 
410                                        </article> 
411                                        <i class="fal fa-plus-circle" style="font-size: 30px;"></i> 
412                                    </button> 
413                                </h5> 
414                            </div> 
415                            <!-- Fin para la url de la estrutura --> 
416                        </#if> 
417                        <!-- Fin de validacion del link --> 
418                <#else> 
419                <!--  Seccion para obtener los detalles --> 
420                <div class="card m-0 border-0"> 
421                    <div class="card-header bg-blue-iteso rounded-0 container-it" id="heading${w}"> 
422                        <h5 class="mb-0 "> 
423                            <button class="btn btn-link d-flex align-items-center justify-content-between w-100 collapsed p-0"  data-toggle="collapse" data-target="#collapse${w}" aria-expanded="false" aria-controls="collapse${w}"> 
424                                <article class="d-flex  align-items-center">     
425                                    ${activarIcon(w, true)} 
426                                    <a class="text-left" style="font-size: 1em;">${titulo}</a> 
427                                </article> 
428                                <i class="fal fa-plus-circle" style="font-size: 30px;"></i> 
429                            </button> 
430                        </h5> 
431                    </div> 
432                    <div id="collapse${w}" class="collapse" aria-labelledby="heading${w}" data-parent="#accordion"> 
433                        <div class="card-body container-it"> 
434                            <!-- Colocando la variable del detalle --> 
435                            <section class="mobile-bl5-scroll"> 
436                            ${detalle}  
437                            </section> 
438                            <!-- Fin de la seccion para la variable del detalle --> 
439                        </div> 
440                    </div> 
441                </div> 
442                <!-- Fin de seccion del detalle --> 
443                </#if> 
444        </#list> 
445   </#if> 
446</div> 
447<script> 
448    $(".pasos .text-blue-pasos-iteso").hover(function() { 
449            $(this).css("color", "white"); 
450            $(this).find(".number-iteso").css("border-color", "white"); 
451        }, function() { 
452            $(this).css("color", "#42b4e3"); 
453            $(this).find(".number-iteso").css("border-color", "#42b4e3"); 
454        }); 
455     
456    $("#accordionBL5 .number-iteso").hover(function() { 
457            $(this).css("color", "white"); 
458            $(this).find(".number-iteso").css("border-color", "white"); 
459        }, function() { 
460            $(this).css("color", "#42b4e3"); 
461            $(this).find(".number-iteso").css("border-color", "#42b4e3"); 
462        }); 
463</script> 

IMAGEN_INSTITUCIONAL_CONTENIDOS_CTA3

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica")  [in template "97#123#146124" at line 27, column 27]

----
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 Basica = themeDisplay.getSite...  [in template "97#123#146124" at line 27, column 9]
----
1<#assign JournalArticleLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/> 
2<#assign url_public = themeDisplay.getPathFriendlyURLPublic()> 
3 
4<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
5<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
6 
7<#assign articles = []/> 
8 
9 
10<#if contenido.getData()?has_content??> 
11    <#if contenido.getData()?has_content && contenido.getData()?matches("[0-9]+") > 
12        <#assign article = JournalArticleLocalServiceUtil.getLatestArticle(contenido.getData()?number)> 
13        <#assign articles = articles + [article]/> 
14    </#if> 
15</#if> 
16 
17<#if articles?has_content>  
18    <#list articles as cur_art>  
19        <#assign size = articles?size/> 
20        <#assign document = saxReaderUtil.read(cur_art.getContentByLocale(locale)) /> 
21        <#assign root = document.getRootElement()> 
22        <#assign titulo = root.selectSingleNode("dynamic-element[@name='titulo']/dynamic-content").getText()/> 
23        <#assign abstract = root.selectSingleNode("dynamic-element[@name='abstract']/dynamic-content").getText()/> 
24 
25 
26        <#assign Basica_Liga = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica_Liga")> 
27        <#assign Basica = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Basica")> 
28        <#assign Descarga = themeDisplay.getSiteGroup().getExpandoBridge().getAttribute("Descarga")> 
29             
30            <#-- Validación para saber si la estructura utilizada es Basica_Ligsa o Basica --> 
31            <#if cur_art.getStructureId() == Basica_Liga || cur_art.getStructureId() == Descarga> 
32                 
33                <#if cur_art.getStructureId() == Basica_Liga> <#-- Si es Basica Liga se obtienen el lin o url --> 
34                     
35                    <#assign link = root.selectSingleNode("dynamic-element[@name='link']/dynamic-content").getText()/> 
36                    <#assign linkjson = jsonFactoryUtil.createJSONObject(link)> 
37                    <#assign url  = root.selectSingleNode("dynamic-element[@name='url']/dynamic-content").getText()/> 
38 
39                    <#if link?has_content> <#-- si link tiene contenido se obtiene este link --> 
40                        <#assign linkid = link?split("@")> 
41                        <#assign groupUtil = serviceLocator.findService('com.liferay.portal.kernel.service.GroupLocalService')> 
42                        <#assign group = groupUtil.getGroup(cur_art.getGroupId())> 
43                        <#assign groupFriendly = group.getFriendlyURL()> 
44                        <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
45                        <#--assign layout = layoutService.getLayout(linkjson.getLong("groupId") , linkjson.getBoolean("privateLayout"),linkjson.getLong("layoutId"))--> 
46                        <#assign layoutFriendly = layout.getFriendlyURL()> 
47                        <#assign urlCta3 = "${url_public}${groupFriendly}${layoutFriendly}"> 
48                         
49                        <#else>  
50                        <#-- Si url tiene contenido y link no se obtiene la url sino se cumple se pone sinUrl en true para mostrar al usuario que no se esta poniendo ya sea link o url --> 
51                            <#assign urlCta3 = url> 
52                    </#if> 
53                    <div class="container-fluid" style="justify-content: center;display: flex; padding-left:0; padding-right:0"> 
54                        <div class="row cta3 w-100"> 
55                            <div class="col-md-12 col-lg-8 mt-lg-5 mb-lg-5 block1"> 
56                                <div class="container-xxxxl"> 
57                                    <h1 class="title-cta3 ">${titulo}</h1> 
58                                    <h5 class="subtitle-cta3 ">${abstract}</h5> 
59                                </div> 
60                            </div> 
61                            <div class="col-md-12 col-lg-4 block2 ${fondoColor.getData()}  w-100"> 
62                                <div class="container-xxxxl w-100"> 
63                                    <a class=link-block href="${urlCta3}" target="_blank"><i class="fal fa-chevron-circle-down pr-3"></i></i>${txtLink.getData()}</a> 
64                                </div> 
65                            </div> 
66                        </div> 
67                    </div> 
68                </#if> 
69                <#-- Validación si es Descarga, se obtiene el enlace del elemento y se convierte a un json para pasarlo a una funcion para poder descargar el documento --> 
70                <#if cur_art.getStructureId() == Descarga> 
71                    <#assign xmlValue = root.selectSingleNode("dynamic-element[@name='doc']/dynamic-content").getText()/> 
72                    <#assign docJson = jsonFactoryUtil.createJSONObject(xmlValue)> 
73                    <#assign urlDownload = getArticleDLEntryUrl(xmlValue)> 
74 
75                        <div class="container-fluid" style="justify-content: center;display: flex; padding-left:0; padding-right:0"> 
76                        <div class="row cta3 w-100"> 
77                            <div class="col-md-12 col-lg-8 mt-lg-5 mb-lg-5 block1"> 
78                                <div class="container-xxxxl"> 
79                                    <h1 class="title-cta3 ">${titulo}</h1> 
80                                    <h5 class="subtitle-cta3 ">${abstract}</h5> 
81                                </div> 
82                            </div> 
83                            <div class="col-md-12 col-lg-4 block2 ${fondoColor.getData()}  w-100"> 
84                                <div class="container-xxxxl w-100"> 
85                                    <a class=link-block href="${getArticleDLEntryUrl(xmlValue)}"><i class="fal fa-chevron-circle-down pr-3"></i></i>${txtLink.getData()}</a> 
86                                </div> 
87                            </div> 
88                        </div> 
89                    </div> 
90 
91 
92 
93 
94 
95                </#if> <#-- Fin Validación si es Descarga --> 
96            <#else><#--else de if principal  que valida que la estrucutra sea Basica_Liga o Descarga, sino se cumple muestra hace las siguientes validaciones--> 
97                <#-- Si showCta3 es false y sinUrl igual a false muestra una leyenda de que se esta ocupando otra estructura diferente a Basica_Liga o Descarga --> 
98                            <#if cur_art.getStructureId() == Basica> 
99                    <#assign  urldetalle = "/web/general/detalle" /> 
100                        <div class="container-fluid" style="justify-content: center;display: flex; padding-left:0; padding-right:0"> 
101                        <div class="row cta3 w-100"> 
102                            <div class="col-md-12 col-lg-8 mt-lg-5 mb-lg-5 block1"> 
103                                <div class="container-xxxxl"> 
104                                    <h1 class="title-cta3 ">${titulo}</h1> 
105                                    <h5 class="subtitle-cta3 ">${abstract}</h5> 
106                                </div> 
107                            </div> 
108                            <div class="col-md-12 col-lg-4 block2 ${fondoColor.getData()} w-100"> 
109                                <div class="container-xxxxl w-100"> 
110                                    <a class=link-block href="${urldetalle}?group_id=${cur_art.getResourcePrimKey()}"><i class="fal fa-chevron-circle-down pr-3"></i></i>${txtLink.getData()}</a> 
111                                </div> 
112                            </div> 
113                        </div> 
114                    </div> 
115                </#if> <#-- Fin Validación si es Basica --> 
116            </#if> 
117 
118 
119    </#list> 
120</#if> 
121<#function getArticleDLEntryUrl xmlValue> 
122 
123  <#local docUrl = "" /> 
124 
125  <#if xmlValue?has_content> 
126    <#local jsonObject = xmlValue?eval /> 
127 
128    <#local entryUuid = jsonObject.uuid /> 
129    <#local entryGroupId = getterUtil.getLong(jsonObject.groupId) /> 
130 
131    <#local dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) /> 
132 
133    <#local assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) /> 
134    <#local assetRenderer = assetEntry.assetRenderer /> 
135 
136    <#local docUrl = assetRenderer.getURLDownload(themeDisplay) /> 
137  </#if> 
138  <#return docUrl /> 
139</#function> 
140 
141<#assign color = fondoColor.getData() /> 
142<#assign colorLetter = "" /> 
143<#assign colorLink = "" /> 
144<#if color != 'bg-azul-cta3'> 
145<#assign colorLetter = "#004270" /> 
146<#assign colorLink = "#fff" /> 
147<#else> 
148<#assign colorLetter = "#666" /> 
149<#assign colorLink = "#004270" /> 
150</#if> 
151<style type="text/css"> 
152.bg-azul-cta3 { 
153    background-color: #42b4e3 !important; 
154
155.bg-morado-cta3{ 
156    background-color: #8d1860 !important; 
157
158.bg-verde-cta3 { 
159    background-color: #6ba43a !important; 
160
161.bg-naranja-cta3 { 
162    background-color: #ff6b00 !important; 
163
164.bg-dorado-cta3 { 
165    background-color: #b4975a !important; 
166
167@media (min-width:300px) and (max-width:991.5px){ 
168    .cta3 .block1, .cta3 .block2 { 
169        padding-right: 7.5%; 
170        padding-left: 7.5%; 
171
172        .cta3 .link-block{ 
173    justify-content: center !important; 
174
175    .cta3 .title-cta3 { 
176    line-height: 0.91; 
177    text-align: center; 
178
179    .cta3 .subtitle-cta3 { 
180        line-height: 1.17; 
181        text-align:center; 
182
183    .cta3 .link-block{ 
184        line-height: 2.57; 
185
186    .cta3 .block1 { 
187        margin-top:52px; 
188        margin-bottom:67px; 
189
190    .cta3 .title-cta3 { 
191        font-size: 3em; 
192        margin-bottom:10px !important; 
193 
194
195
196 
197@media (min-width:992px){ 
198    .cta3 .title-cta3 { 
199    line-height: 1.32; 
200    text-align: left; 
201
202    .cta3 .title-cta3 { 
203        font-size: 3.5em; 
204
205    .cta3 .subtitle-cta3 { 
206        line-height: 0.98; 
207        text-align: left; 
208
209    .cta3 .link-block{ 
210        line-height: 1.2; 
211        text-align: left; 
212
213    .cta3 .block1 { 
214    padding-left: 7.5%; 
215    padding-right: 0; 
216
217.cta3 .block2 { 
218    padding-right: 7.5%; 
219
220
221@media (min-width: 992px){ 
222.cta3 .block1{ 
223    padding-left:7.5%; 
224    padding-right: 0; 
225
226.cta3 .block2{ 
227    /*padding-left:0;*/ 
228    padding-right: 7.5%; 
229
230
231@media (max-width:768px){ 
232    .cta3 .link-block { 
233       margin-top: 31px; 
234       margin-bottom:31px; 
235       font-size: 1.3em !important; 
236
237     
238
239.cta3 .block1 , .cta3 .block2{ 
240    display: flex; 
241    align-items: center !important; 
242
243/* 
244.cta3 .block2 { 
245    background-color: ${color}; 
246
247*/ 
248.cta3 .title-cta3 { 
249  font-family: 'Degular-Semibold'; 
250  /*font-size: 4em;*/ 
251  font-weight: 600; 
252  font-stretch: normal; 
253  font-style: normal; 
254  letter-spacing: normal; 
255  color: ${colorLetter}; 
256  margin-bottom:0; 
257   
258
259.cta3 .subtitle-cta3 { 
260  font-family: 'Degular-Regular'; 
261  font-size: 2em; 
262  font-weight: normal; 
263  font-stretch: normal; 
264  font-style: normal; 
265  letter-spacing: normal; 
266   
267  color: #666666; 
268   
269
270 
271 
272.cta3 .link-block i { 
273    font-size: 40px; 
274
275.cta3 .link-block { 
276    font-family: 'Degular-Bold'; 
277    font-size: 1.8em; 
278    font-weight: bold; 
279    font-stretch: normal; 
280    font-style: normal; 
281    text-transform: uppercase; 
282    letter-spacing: 1.5px; 
283    color: ${colorLink}; 
284    text-decoration: none; 
285    display: flex; 
286    align-items: center !important; 
287    justify-content: end; 
288     
289
290.cta3 .link-block:hover { 
291    text-decoration: none; 
292    color: ${colorLink}; 
293
294 
295@media(min-width:992px){ 
296    .cta3 .block1{ 
297        height:280px; 
298
299
300@media(min-width:375px) and (max-width:991.5px){ 
301    .cta3 .block1{ 
302        height:250px; 
303
304    .cta3 .block2{ 
305        height:110px; 
306
307    .cta3 .container-xxxxl{ 
308        margin:  auto; 
309
310    .cta3 .subtitle-cta3{ 
311		font-size:1.2em; 
312
313
314</style>