Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> loginURL  [in template "76121110924137#32361#FICHA_CENTRO_TPL" at line 99, column 109]

----
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: ${loginURL}  [in template "76121110924137#32361#FICHA_CENTRO_TPL" at line 99, column 107]
----
1<#-- get services --> 
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
3<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/> 
4<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/> 
5<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") /> 
6 
7 
8<#assign language = themeDisplay.getLocale()/> 
9<#assign groupId = themeDisplay.getScopeGroupId()/> 
10<#assign is_signed_in = themeDisplay.isSignedIn()/> 
11<#assign userId =themeDisplay.getUserId()/> 
12<#assign journalArticleId = .vars['reserved-article-id'].data/> 
13<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/> 
14 
15 
16<#-- get the content categories --> 
17<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) /> 
18 
19<#-- get the content URL --> 
20<#assign valoracionesDisplayAverage = 0/> 
21<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??> 
22    <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) /> 
23    <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() /> 
24</#if> 
25 
26<#assign altImage = "" /> 
27<#if image_alt?? && image_alt.getData() ?? && image_alt.getData() != ""> 
28    <#assign altImage = "${image_alt.getData()}" /> 
29<#else> 
30    <#assign altImage = "${nombre.getData()}" /> 
31</#if> 
32 
33<div id="centro-detalle" class="container vertical image-view" style="padding: 0px;"> 
34    <#if imagen.getData()?? && imagen.getData() != ""> 
35        <img class="img-fluid col-lg-7" style="padding: 0px; width: auto; flex-basis: auto;" alt="${altImage}"  
36        src="${imagen.getData()}" width="900" height="548" /> 
37    </#if> 
38    <div class="box-img col-lg square"> 
39        <p class="box-img-pre-c" >${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.centro")}</p> 
40        <#if nombre?? && nombre.getData()?? && nombre.getData() != ""> 
41            <p class="box-img-title" style="margin-bottom:10%">${nombre.getData()}</p> 
42        </#if> 
43        <#if subtitle?? && subtitle.getData()?? && subtitle.getData() != ""> 
44            <p class="box-img-sub-title-rec">${subtitle.getData()}</p> 
45        </#if> 
46        <#if streetAddress?? && streetAddress.getData()?? && streetAddress.getData() != ""> 
47            <p class="map-adress-link"> ${streetAddress.getData()} <span class="center-separation"></span><i class="bi bi-geo-alt"></i> <a class="map-link" target="_blank" href="${map.getData()}">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.llegar")}</a></p> 
48        </#if> 
49        <#if telephone?? && telephone.getData()?? && telephone.getData() != ""> 
50            <span class="center-separation"></span> 
51						<i class="bi bi-telephone"></i> <a class="c-link" title="Tel." href="tel:${telephone.getData()}">${telephone.getData()}</a><br> 
52        </#if> 
53        <#if fax?? && fax.getData()?? && fax.getData() != ""> 
54				<span class="center-separation"></span> 
55            <i class="bi bi-printer"></i> <a class="c-link" title="FAX" href="">${fax.getData()}</a><br> 
56        </#if> 
57        <#--<#if email?? && email.getData()?? && email.getData() != ""> 
58            @ <a class="c-link" href="mailto:${email.getData()}">${email.getData()}</a><br> 
59        </#if>--> 
60        <#if url?? && url.getData()?? && url.getData() != ""> 
61				 <span class="center-separation"></span> 
62            <i class="bi bi-globe-americas"></i> <a class="visit-link" href="${url.getData()}" target="_blank">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.visitar")}</a><br> 
63        </#if> 
64        <input type="hidden" id="modal-center-name" value="${nombre.getData()}"> 
65        <input type="hidden" id="modal-center-tel" value="${telephone.getData()}"> 
66        <input type="hidden" id="modal-center-email" value="${email.getData()}"> 
67        <button class="box-img-button color-caixa-blue background-white info-request">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.contactar.centro")}</button> 
68        <hr> 
69        <div class="card-actions flex"> 
70            <div class="statistics"> 
71                <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line> 
72                    <path class="circle-bg" d="M18 2.0845 
73                        a 15.9155 15.9155 0 0 1 0 31.831 
74                        a 15.9155 15.9155 0 0 1 0 -31.831"></path> 
75                    <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845 
76                        a 15.9155 15.9155 0 0 1 0 31.831 
77                        a 15.9155 15.9155 0 0 1 0 -31.831"></path> 
78                    <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text> 
79                </svg> 
80            </div> 
81            <div class="share"> 
82                <button id="share"></button> 
83                <div class="a2a_kit a2a_kit_size_32 a2a_default_style tooltip" data-a2a-icon-color="#009AD8"> 
84                            <a class="a2a_button_facebook"></a> 
85                            <a class="a2a_button_x"></a> 
86                            <a class="a2a_button_whatsapp"></a> 
87                            <a class="a2a_button_email"></a> 
88                        </div> 
89            </div> 
90            <div class="bookmark"> 
91               <#-- <button id="bookmark"></button> --> 
92								<#if is_signed_in> 
93				<#if isUserBookmark> 
94					<button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>  
95				<#else> 
96					<button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button> 
97				</#if> 
98				<#else> 
99					<button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button> 
100			</#if> 
101            </div> 
102        </div> 
103    </div> 
104</div> 
105<div class="container vertical"> 
106    <div class="row description"> 
107        <div class="description-text col-lg-7" style="margin-top: 5%;"> 
108            <#if schedule?? && schedule.getData()?? && schedule.getData() != ""> 
109                <p>${schedule.getData()}</p> 
110            </#if> 
111            <#if comments?? && comments.getData()?? && comments.getData() != ""> 
112                <p class="access-text">${comments.getData()}</p> 
113            </#if> 
114        </div>         
115    </div> 
116</div> 
117<div class="container vertical" style="padding-top: 3%;"> 
118    <div class="row"> 
119        <div class="maps-img col-lg"> 
120            <#if mapImage?? && mapImage.getData()?? && mapImage.getData() != ""> 
121                <img style="width:100%"  alt="${mapImage.getAttribute("alt")}" data-fileentryid="${mapImage.getAttribute("fileEntryId")}" src="${mapImage.getData()}" /> 
122            </#if> 
123        </div> 
124    </div> 
125</div> 
126 
127<style> 
128.description-text{ 
129    color: black; 
130
131#centro-detalle p.map-adress-link { 
132    margin-top: 10px; 
133    display: inline-block; 
134    width: 100%; 
135
136button.box-img-button.color-caixa-blue.background-white.info-request { 
137    border-width: 2px; 
138    border-radius: 25px; 
139    margin-top: 20px; 
140    padding-left: 20px; 
141    padding-right: 20px; 
142
143 
144button.box-img-button.color-caixa-blue.background-white.info-request:hover,button.box-img-button.color-caixa-blue.background-white.info-request:focus { 
145background-color:#4176DB; 
146color:#fff; 
147
148span.center-separation { 
149    display: block; 
150    width: 100%; 
151    height: 6px; 
152
153#centro-detalle .box-img.col-lg.square i { 
154    padding-right: 10px; 
155
156 
157#modal-solicitar-info { 
158border-radius:10px; 
159
160#modal-solicitar-info .form-group.input-text-wrapper.has-error .form-feedback-item.form-validator-stack.help-block { 
161    text-align: left; 
162
163#modal-solicitar-info .has-error > .error-field { 
164    margin-bottom: 5px; 
165    border-bottom: 2px solid #dc3545; 
166    border-radius: 0px; 
167
168#modal-solicitar-info .lfr-ddm-field-group.mb-3.field-wrapper > span.control-label { 
169    display: inline-block; 
170    width: 100%; 
171    text-align: left; 
172    margin-bottom: 20px; 
173
174 
175#modal-solicitar-info span#clwf_displayDate { 
176    margin: 0px !important; 
177
178#modal-solicitar-info span.lfr-input-date > input.field.form-control { 
179    width: auto; 
180    max-width: 150px; 
181    padding: 0px; 
182    min-height: 50px; 
183    border-radius: 5px; 
184    padding-left: 10px; 
185
186 
187#modal-solicitar-info span.lfr-input-date { 
188    margin-left: 0px !important; 
189
190 
191#modal-solicitar-info .button-holder .btn-more-info.btn-secondary span.lfr-btn-label { 
192    min-width: 150px; 
193    min-height: 45px; 
194    display: flex; 
195    align-items: center; 
196    justify-content: center; 
197    border-radius: 25px !important; 
198
199#modal-solicitar-info span.modal-close { 
200    top: 20px !important; 
201    right: 20px !important; 
202
203</style> 
204 
205<script> 
206$( document ).ready(function() { 
207    initAddThis(); 
208}); 
209</script>