Open Cities
An error occurred while processing the template.
Multiple compatible overloaded variations were found with the same priority. The FTL type of the argument values were: Null. The Java type of the argument values were: Null. The matching overload was searched among these members: com.liferay.portal.kernel.util.Validator_IW.isNotNull(String), com.liferay.portal.kernel.util.Validator_IW.isNotNull(Long), com.liferay.portal.kernel.util.Validator_IW.isNotNull(Object) ---- FTL stack trace ("~" means nesting-related): - Failed at: #if (validator.isNotNull(.vars["Resum... [in template "10155#10193#PROJECTE_RECERCA" at line 161, column 21] ----
1<#-- Carreguem la macro getPathForPlugins per obtenir les rutes a les carpetes dels plugins que necessitem-->
2<#include "${fullTemplatesPath}/util/getPathForPlugins.ftl" />
3
4<#assign jsBootstrapPath = getPathForPlugins('bootstrap','js','')?trim />
5<#assign imgUpfPath = getPathForPlugins('upf','images','')?trim/>
6
7<style type="text/css">
8
9 .row, .form-horizontal>.form-group, .row-fluid {
10 margin-right: 0px;
11 margin-left: 0px;
12 }
13 /* fix linea */
14 .nav {
15 border-bottom: 1px solid #ddd;
16 }
17 .nav-tabs > li > a {
18 border-bottom: 0px solid !important;
19 }
20 /* end fix linea */
21
22 .nav-tabs>li>a, .nav-pills>li>a {
23 padding-right: 12px;
24 padding-left: 12px;
25 line-height: 24px;
26 padding: 0.425rem 0.6rem;
27 }
28
29 .nav-tabs>.active>a, .nav-tabs>.active>a:hover, .nav-tabs>.active>a:focus {
30 color: #555;
31 background-color: #fff;
32 border: 1px solid #ddd;
33 border-bottom-color: transparent!important;
34 cursor: default;
35 border-radius: 4px 4px 0 0;
36 line-height: 23px;
37 }
38
39 .nav-tabs>li>a:hover, .nav-tabs>li>a:focus {
40 border-color: #eee #eee #ddd;
41 text-decoration: none;
42 background-color: #eee;
43 color: #c8102e;
44 border-radius: 4px 4px 0 0;
45 }
46
47 #nom_page {
48 display: none;
49 }
50 .fitxa_projecte_item .row-fluid {
51 display: flex !important;
52 flex-wrap: wrap !important;
53 align-items: stretch !important;
54 }
55 .fitxa_projecte_item {
56 width: 100%;
57 margin: 0 0 10px 0;
58 box-sizing: content-box;
59 background-color: #eee;
60 z-index: 0;
61 border: 1px solid #eee !important;
62 box-sizing: border-box;
63 }
64 span.nom {
65 font-weight: bold;
66 text-transform: uppercase;
67 }
68 .fitxa_projecte_item .row-fluid [class*="span"] {
69 padding: 10px;
70 }
71 .fitxa_projecte_item .span3 {
72 background-color: #fff;
73 }
74 .fitxa_projecte_logo {
75 background-position: center center;
76 background-image: url(${imgUpfPath}/fitxa-projecte.png);
77 background-repeat: no-repeat;
78 background-size: contain;
79 min-width: 80px;
80 min-height: 80px;
81 display: block;
82 margin: auto;
83 position: relative;
84 line-height: initial;
85 width: 100%;
86 height: 100%;
87 }
88 @media (max-width: 767px) {
89 #nom_page {
90 display: block;
91 }
92 }
93
94 .header-back-to{
95 display:none;
96 }
97 .header-title{
98 display:none;
99 }
100 .taglib-header {
101 border:none;
102 }
103
104 .portlet-asset-publisher .asset-content{
105 margin-left:0px;
106 }
107
108 /*estil pròpi de les pestanyes responsive*/
109 .tabbable .nav-tabs::after, .tabbable .nav-pills::after {
110 clear: both!important;
111 }
112 a.accordion-link {
113 display: none !important;
114 }
115 @media (max-width:979px) {
116
117 ul.nav.nav-tabs.responsive-tabs {
118 display: none;
119 }
120 a.accordion-link {
121 display: block !important;
122 border: 1px solid #fff;
123 background-color: #ddd;
124 padding-top: 8px;
125 padding-bottom: 8px;
126 padding-left: 12px;
127 padding-right: 12px line-height: 20px;
128 text-decoration: none;
129 }
130 .tab-pane {
131 padding-top: 8px;
132 padding-bottom: 8px;
133 padding-left:12px;
134 padding-right:12px;
135 }
136 a.accordion-link:hover, a.accordion-link:focus {
137 text-decoration: none;
138 }
139 }
140 /*FI estil pestanyes responsive*/
141</style>
142
143<div id="nom_page">
144 <h1>${.vars['Nombre'].getData()}</h1>
145</div>
146
147<div class="fitxa_projecte">
148 <div class="fitxa_projecte_item">
149 <div class="row-fluid">
150 <div class="span3">
151 <#if (.vars['Imagen'].getData()?has_content) >
152 <div style='background-image:url("${.vars['Imagen'].getData()}")' class="fitxa_projecte_logo"></div>
153 <#else>
154 <div class="fitxa_projecte_logo"></div>
155 </#if>
156 </div>
157 <div class="span9 ">
158 <div class="lfr-meta-actions asset-actions"></div>
159 <p class="fitxa_projecte_dato">
160 <span class="nom">${.vars['Nombre'].getData()}</span><br>
161 <#if (validator.isNotNull(.vars['Resumen'])) >
162 <#assign resum = .vars['Resumen'].getData() />
163 <#if (validator.isNotNull(resum?length)) >
164 <#assign resum = stringUtil.shorten(resum, 250) />
165 <#if (resum?length == 250) >
166 <#assign resum = resum + "..." />
167 </#if>
168 </#if>
169 ${resum}
170 </#if>
171 </p>
172 </div>
173 </div>
174 </div>
175 <#assign dateMark = randomizer.nextInt()*(-1) />
176 <div class="tabbable">
177 <ul class="nav nav-tabs responsive-tabs tabs${dateMark}">
178 <#if (validator.isNotNull(.vars['Descripcion']) && .vars['Descripcion'].getData()?has_content) >
179 <li class="active"><a href="#descripcio"><@liferay.language key="descripcio-tab" /></a></li>
180 </#if>
181 <#if ( (validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content) ||
182 (validator.isNotNull(.vars['Investigadores']) && .vars['Investigadores'].getData()?has_content) ) >
183 <li><a href="#investigadors"><@liferay.language key="investigadors-tab" /></a></li>
184 </#if>
185 <#if (validator.isNotNull(.vars['Colaboradores']) && .vars['Colaboradores'].getData()?has_content) >
186 <li><a href="#collabora"><@liferay.language key="collaboradors-tab" /></a></li>
187 </#if>
188 <#if (validator.isNotNull(.vars['Financiamiento']) && .vars['Financiamiento'].getData()?has_content) >
189 <li><a href="#financament"><@liferay.language key="financament-tab" /></a></li>
190 </#if>
191 </ul>
192
193 <div class="tab-content">
194 <#if (validator.isNotNull(.vars['Descripcion']) && .vars['Descripcion'].getData()?has_content) >
195 <div class="tab-pane active" id="descripcio">
196 ${.vars['Descripcion'].getData()}
197 </div>
198 </#if>
199 <#if ((validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content)||
200 (validator.isNotNull(.vars['Investigadores']) && .vars['Investigadores'].getData()?has_content)) >
201 <div class="tab-pane" id="investigadors">
202 <#if (validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content) >
203 <h2> <@liferay.language key="investigadors-principals" /></h2>
204 <#list .vars['InvestigadorPrincipal'].getSiblings() as cur_InvestigadorPrincipal >
205 <#if (validator.isNotNull(cur_InvestigadorPrincipal.LinkInvestigadorPrincipal) &&
206 cur_InvestigadorPrincipal.LinkInvestigadorPrincipal.getData()?has_content)>
207 <a href="${cur_InvestigadorPrincipal.LinkInvestigadorPrincipal.getData()}">${cur_InvestigadorPrincipal.getData()}</a>
208 <#else>
209 ${cur_InvestigadorPrincipal.getData()}
210 </#if>
211 </br>
212 </#list>
213 </#if>
214
215
216 <#if (validator.isNotNull(.vars['Investigadores'])) >
217 <#if (.vars['Investigadores'].getData()?has_content) >
218 <#-- Només posem el títol si també hi han investigadors principals, per no repetir el nom de la pestanya. -->
219 <#if (validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content) >
220 <h3> <@liferay.language key="investigadors" /></h3>
221 </#if>
222
223
224 <#list .vars['Investigadores'].getSiblings() as cur_Investigadores >
225 <#if (validator.isNotNull(cur_Investigadores.LinkInvestigador)
226 && cur_Investigadores.LinkInvestigador.getData()?has_content) >
227 <a href="${cur_Investigadores.LinkInvestigador.getData()}">${cur_Investigadores.getData()}</a>
228 <#else>
229 ${cur_Investigadores.getData()}
230 </#if>
231
232 </br>
233 </#list>
234 </#if>
235 </#if>
236 </div>
237 </#if>
238 <#if (validator.isNotNull(.vars['Colaboradores']) && .vars['Colaboradores'].getData()?has_content) >
239 <div class="tab-pane" id="collabora">
240 ${.vars['Colaboradores'].getData()}
241 </div>
242 </#if>
243
244 <#if (validator.isNotNull(.vars['Financiamiento']) && .vars['Financiamiento'].getData()?has_content) >
245 <div class="tab-pane" id="financament">
246 ${.vars['Financiamiento'].getData()}
247 </div>
248 </#if>
249 </div>
250 </div>
251</div>
252
253<script src="${jsBootstrapPath}/bootstrap_tab.js"></script>
254<script src="${jsBootstrapPath}/jquery_bootstrap_responsive_tabs.js"></script>
255
256<script type="text/javascript">
257
258/*Treure el títol de la pàgina 7.2*/
259document.querySelector(".upf__titol-pagina")?.remove()
260
261 $('.responsive-tabs.tabs${dateMark}').responsiveTabs({
262 accordionOn: ['xs', 'sm'] // xs, sm, md, lg
263 });
264
265 // Si la pàgina que llista els projectes és de primer nivell, llavors no es posa el divider del breadcrumb
266 // i l'hem d'introduir nosaltres.
267 if($(".breadcrumb li").length==2){
268 $(".breadcrumb .first").append("<span class='divider'>/</span>");
269 }
270
271
272</script>