Breadcrumb Detalle Línea

Pdf Lineas

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> request.getParameter("idBusLine")  [in template "44061202331357#6471594#39064" at line 10, column 38]

----
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 idBusLine = request.getParame...  [in template "44061202331357#6471594#39064" at line 10, column 17]
----
1<#assign request = renderRequest.getOriginalHttpServletRequest() /> 
2 
3<div class="container single-lines"> 
4    <div class="row"> 
5 
6        <div class="col-md-12 col-lg-7"> 
7            <div class="container info-line-detail"> 
8                <div class="map-button hidden" id="mapButtonCopy"> 
9                <#if lineName.getSiblings()?has_content> 
10                <#assign idBusLine = request.getParameter("idBusLine") /> 
11 
12                	<#list lineName.getSiblings() as cur_lineName> 
13                	    <#if cur_lineName.getData() == idBusLine > 
14                    	    <a target="_blank" href="${cur_lineName.pdf.getData()}"  
15                    	    class="btn btn-outline-dark btn-download btn-lg"> 
16                    	    Descargar PDF 
17                            </a> 
18                        </#if> 
19                	</#list> 
20                </#if> 
21 
22                </div> 
23            </div> 
24        </div> 
25    </div> 
26</div> 
27 
28<script> 
29 
30Liferay.on('allPortletsReady',  function (){ 
31    if( $(".col-mapa").length >0 ){  
32        $("#mapButtonCopy").appendTo(".col-mapa"); 
33
34 
35}); 
36 
37 
38</script> 

AdoLinea

paradas
  

Anotaciones por línea 2

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> request.getParameter("idBusLine")  [in template "44061202331357#6471594#5351416" at line 10, column 22]

----
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 idBusLine = request.getParame...  [in template "44061202331357#6471594#5351416" at line 10, column 1]
----
1<#-- 
2Web content templates are used to lay out the fields defined in a web 
3content structure. 
4 
5Please use the left panel to quickly add commonly used variables. 
6Autocomplete is también available and can be invoked by typing "${". 
7--> 
8 
9<#assign request = renderRequest.getOriginalHttpServletRequest() /> 
10<#assign idBusLine = request.getParameter("idBusLine") /> 
11 
12<#-- DEBUG temporal --> 
13<p style="display:none;">Debug idBusLine: [${idBusLine}]</p> 
14<div style="height:20px">&nbsp;</div> 
15<#if HTMLisfi.getSiblings()?has_content> 
16    <#list HTMLisfi.getSiblings() as cur_HTMLisfi> 
17        <#if cur_HTMLisfi.Linea.getData()?trim == idBusLine?trim> 
18            <div id="anotaciones"> 
19                <div class="container"> 
20                    <div class="row"> 
21                        <div class="col-md-12"> 
22                            <i class="fa fa-info-circle"></i> 
23                            <div class="cuerpoaviso">${cur_HTMLisfi.getData()}</div> 
24                        </div> 
25                    </div> 
26                </div> 
27            </div> 
28            <#break>  <#-- 👈 Esto evita que siga procesando más bloques --> 
29        </#if> 
30    </#list> 
31</#if> 
32<#-- 
33<#if HTMLisfi.getSiblings()?has_content> 
34    <#list HTMLisfi.getSiblings() as cur_HTMLisfi> 
35        <#assign dataLinea = cur_HTMLisfi.Linea.getData()?trim /> 
36        <p style="color:gray;"> 
37            Bloque con línea: [${dataLinea}] 
38            <#if dataLinea == idBusLine?trim> 
39                ✅ Coincide 
40            <#else> 
41                ❌ No coincide 
42            </#if> 
43        </p> 
44    </#list> 
45</#if> 
46--> 
47 
48<script> 
49Liferay.on('allPortletsReady', function () { 
50    const anotaciones = document.querySelector('#anotaciones'); 
51 
52    if (!anotaciones) return; 
53 
54    anotaciones.style.display = 'none'; // Ocultar inicialmente 
55 
56    const insertAnotaciones = () => { 
57        const targetDiv = document.querySelector('.title-horarios.pb-2 > div'); 
58        if (targetDiv && !document.querySelector('.title-horarios.pb-2 > #anotaciones')) { 
59            targetDiv.insertAdjacentElement('afterend', anotaciones); 
60            anotaciones.style.display = 'block'; 
61            return true; 
62
63        return false; 
64    }; 
65 
66    // Intentar insertar si ya está en el DOM 
67    if (insertAnotaciones()) return; 
68 
69    // Observar por si aparece más tarde 
70    const observer = new MutationObserver(() => { 
71        if (insertAnotaciones()) { 
72            observer.disconnect(); 
73
74    }); 
75 
76    observer.observe(document.body, { childList: true, subtree: true }); 
77}); 
78</script> 
79 
80<style> 
81#anotaciones { 
82    display: none; 
83
84#anotaciones .col-md-12 { 
85    display: flex; 
86    align-items: center; /* Alineación vertical */ 
87    gap: 0.5em; /* Espacio entre el icono y el texto */ 
88		margin-top: 0.5em; 
89		padding-left: 0; 
90
91 
92#anotaciones i { 
93    font-size: 1.2em; 
94    color: #db291c; 
95    margin: 0 0 .5rem 0; 
96
97 
98#anotaciones .cuerpoaviso { 
99    flex: 1; /* Ocupar el resto del espacio */ 
100
101/* 
102#anotaciones .container {  
103    margin-top: 40px;  
104    margin-bottom: 10px;  
105    border: 1px solid #db291C; 
106    border-bottom: 3px solid #db291c; 
107    padding: 1em 1em 0 1em; 
108    background-color: #fff8f8;  
109
110#anotaciones i { 
111    color: #db291c; 
112    font-size: 2em; 
113    margin-right: 0.3em; 
114    display: inline-block; 
115    vertical-align: top; 
116
117#anotaciones .cuerpoaviso { 
118    display: inline-block; 
119
120*/ 
121</style>