News News

An error occurred while processing the template.
Expression dynamicElement.attributeValue("name") is undefined on line 124, column 69 in 10155#10193#8383246.
1<#-- Carreguem la macro getPathForPlugins per obtenir les rutes a les carpetes css, images i js dels plugins que necessitem--> 
2<#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext() /> 
3<#assign layout = serviceContext.getThemeDisplay() /> 
4 
5 
6<#assign fullTemplatesPath = layout.getPathThemeRoot() + "_SERVLET_CONTEXT_/templates" /> 
7<#include "${fullTemplatesPath}/util/getPathForPlugins.ftl" /> 
8 
9<#assign jsJQueryPath = getPathForPlugins('jquery','js','')?trim /> 
10<#assign cssPath = getPathForPlugins('slick','css','')?trim /> 
11<#assign jsPath = getPathForPlugins('slick','js','')?trim /> 
12<#assign imagesPath = getPathForPlugins('slick','images','')?trim /> 
13 
14 
15<#-------------------------------------------------## 
16## Si el site té un color específic el recuperem   ## 
17##--------------------------------------------------> 
18 
19<#-- get the service for layout--> 
20<#assign layoutService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService") /> 
21 
22<#-- convert the layout id into long --> 
23<#assign layoutLong = getterUtil.getLong(plid) /> 
24 
25<#-- take a layout object --> 
26<#assign getlayout = layoutService.getLayout(layoutLong) /> 
27 
28<#assign propietatsTheme = getlayout.getLayoutSet().getSettings() /> 
29 
30 
31<#if (propietatsTheme?contains("lfr-theme:regular:color-site")) > 
32 
33    <#-- vol dir que el tema té una propietat amb el color del site --> 
34    <#-- Obtenim la posició de la propietat que ens interesa --> 
35    <#assign index = propietatsTheme?index_of("lfr-theme:regular:color-site=") /> 
36    <#-- Retallem la cadena treient tot el que està abans del color --> 
37    <#assign colorSite = propietatsTheme?substring(index + 29, index + 36) /> 
38 
39<#else> 
40    <#-- el tema no té una propietat per especificar el color i assignem l'institucional --> 
41        <#assign colorSite = "#C8102E" />   
42</#if> 
43 
44<#-- Creem una marca per poder instanciar tatnes vegades com vulguem --> 
45<#assign stamp = randomizer.nextInt()*(-1) /> 
46 
47<style> 
48	.nav${stamp}{ 
49		margin-bottom:20px; 
50
51 
52	.edit-article{ 
53		margin-top:10px !important; 
54		position:absolute; 
55		z-index:10; 
56		right:0px; 
57
58 
59	.article.sensetotes .noticia .titular { 
60		padding-top: 40px; 
61		height: 160px; 
62
63 
64	.article.sensetotes .tipus > a { 
65		background-color:${colorSite} !important; 
66
67 
68	.titol-bold { 
69		font-weight: bold; 
70
71 
72	.article.sensetotes .tipus > a:hover { 
73		color: #FFFFFF; 
74
75 
76	.article.sensetotes .noticia .data { 
77		color: ${colorSite}; 
78		padding: 5px; 
79		position: absolute; 
80		right: 0; 
81		z-index: 9; 
82
83	.article.sensetotes .noticia:hover .data { 
84		color: #fff; 
85
86  .article.sensetotes .noticia:hover .tipus > a { 
87    color: #fff !important; 
88
89	@media (max-width: 480px){ 
90		.article.sensetotes .noticia .titular { 
91			float: none; 
92			min-height: auto; 
93			width: 100%; 
94
95
96 
97</style> 
98 
99<script src="${jsJQueryPath}/jquery-1.11.3.min.js"></script> 
100<script src="${jsPath}/slick.min.js"></script> 
101 
102<div class="article-container"> 
103<div id="slick${stamp}" class="article sensetotes"> 
104<#if entries?has_content > 
105	<#list entries as entry > 
106			<#assign renderer = entry.getAssetRenderer() /> 
107			<#assign className = renderer.getClassName() /> 
108		 
109			<#if className == "com.liferay.portlet.journal.model.JournalArticle"  > 
110 
111				  <#--plantilla de URL de la vista --> 
112					  <#include "${fullTemplatesPath}/assets/viewURL.ftl" /> 
113 
114 
115					  <#assign journalArticle = renderer.getArticle() /> 
116					  <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(localeUtil.toLanguageId(locale))) /> 
117					  <#assign rootElement = document.getRootElement() /> 
118 
119					  <#-- plantilla de URL de la edición --> 
120					  <#include "${fullTemplatesPath}/assets/editURL.ftl" /> 
121 
122					  <#list rootElement.elements() as dynamicElement > 
123						   
124						  <#if "Noticia" == dynamicElement.attributeValue("name") > 
125							  <#assign noticia = dynamicElement.element("dynamic-content").getText() /> 
126						  </#if> 
127 
128						  <#if "Resum" == dynamicElement.attributeValue("name") > 
129							  <#assign resum = dynamicElement.element("dynamic-content").getText() /> 
130						  </#if> 
131						   
132						  <#if "imatge" == dynamicElement.attributeValue("name") > 
133							  <#assign imatge = dynamicElement.element("dynamic-content").getText() /> 
134							  <#if imatge == "" > 
135								  <#assign imatge = themeDisplay.getPathThemeImages() + "/sensefoto.png" /> 
136							  </#if> 
137						  </#if> 
138					  </#list> 
139 
140				<#-- Obtenim la data de publicació --> 
141				<#assign dataPub = entry.getPublishDate()?datetime?string("dd.MM.yyyy") /> 
142 
143				 
144				<#-- Obtenim la categoria pare si és notícia 
145				Després del parse tenim definida una variable $cat 
146				amb el valor de la categoria de primer nivell de notícies--> 
147 
148				<#include "${fullTemplatesPath}/assets/getCat1stLevelNews.ftl" /> 
149 
150				<#-- Preparació url dels enllaços a les categories --> 
151				<#assign wordCategories = languageUtil.format(locale,'categories-nom-page','') /> 
152				<#assign catUrl = "/web/focus/" + wordCategories + "?p_p_id=122_INSTANCE_4xkc6d8xhKAC&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_r_p_564233524_resetCur=true&p_r_p_564233524_categoryId=" /> 
153 
154				<div class="noticia"> 
155					<#if (cat != "") > 
156						<div class="tipus"><a href="${catUrl}${categoriaObj.getCategoryId()}">${cat}</a></div> 
157					</#if>          
158					<div class="data">${dataPub}</div>		 
159					<div class="lfr-meta-actions asset-actions edit-article"> 
160					  <#-- plantilla de la vista del botón --> 
161					  <#assign template_view_button = fullTemplatesPath + "/assets/viewEditButton.ftl" /> 
162					  <#include template_view_button > 
163					</div> 
164 
165					<a href="${viewURL}/maximized"> 
166						<div class="titular titol-bold">${entry.getTitle(locale)}</div> 
167					</a> 
168				</div> 
169				 
170		    </#if> 
171  </#list>     
172</#if> 
173</div> 
174 
175<#assign layoutService = serviceLocator.findService("com.liferay.portal.service.LayoutService") /> 
176 
177<#assign layouts = layoutService.getLayouts(groupId, false) /> 
178 
179<#assign existeixPagNoticies = false /> 
180 
181	<#list layouts as layout > 
182		<#if (layout.getName("ca_ES") == "Notícies" || layout.getName("es_ES") == "Noticias" || layout.getName("ca_ES") == "News") > 
183			<#assign paginaNoticies = layout /> 
184			<#assign existeixPagNoticies = true /> 
185		</#if> 
186	</#list> 
187	<div id="buttons${stamp}" class="buttons-right"> 
188		<div class="slider-nav-noticies slider-nav noticies nav${stamp}"></div> 
189 
190		<#if existeixPagNoticies> 
191		<div class="button primer-boto"> 
192			<a href="${paginaNoticies.getRegularURL(request)}"> 
193			<@liferay.language key="mes-noticies" /><i class="icon-chevron-right"></i></a> 
194		</div> 
195		</#if> 
196 
197		<div class="button segon-boto"> 
198			<a href="" target="_blank"><@liferay.language key="subscripcio" /><i class="icon-chevron-right"></i></a> 
199		</div> 
200	</div> 
201 
202</div> 
203 
204<script type="text/javascript"> 
205$('#slick${stamp}').slick({ 
206  autoplay: true, 
207  autoplaySpeed: 5000,   
208  dots: true, 
209  infinite: true, 
210  speed: 300, 
211  slidesToShow: 3, 
212  slidesToScroll: 3, 
213  responsive: [ 
214
215      breakpoint: 700, 
216      settings: { 
217        slidesToShow: 2, 
218        slidesToScroll: 2 
219
220    }, 
221
222      breakpoint: 480, 
223      settings: { 
224        slidesToShow: 1, 
225        slidesToScroll: 1 
226
227
228    // You can unslick at a given breakpoint now by adding: 
229    // settings: "unslick" 
230    // instead of a settings object 
231  ], 
232  prevArrow: '<span class="slick-prev"><i class="icon-chevron-left icon-large"></i></span>',  
233nextArrow: '<span class="slick-next"><i class="icon-chevron-right icon-large"></i></span>', appendArrows: '.nav${stamp}', 
234appendDots: '.nav${stamp}' }); 
235$("#slick${stamp} .slick-dots").insertAfter("#slick${stamp} .slick-prev") 
236 
237// Si està activat RSS 
238if ($("#slick${stamp}").parent().parent().find(".taglib-rss a").size()>0){ 
239  // Obtenim link de rss i li assignem al botó de subscripció. 
240  var rssLink = $("#slick${stamp}").parent().parent().find(".taglib-rss a").attr('href'); 
241  $("#buttons${stamp} div.segon-boto a").attr('href',rssLink); 
242  // Un cop hem agafat el link RSS esborrem el div que conté el RSS original de Liferay 
243  $("#slick${stamp}").parent().parent().find("div.subscribe-action").remove(); 
244}else{ 
245  $("#buttons${stamp} .segon-boto").remove(); 
246   
247
248 
249<#if (!existeixPagNoticies) > 
250  $("#buttons${stamp} .primer-boto").remove(); 
251</#if> 
252 
253 
254// Si es la home UPF apliquem la classe container al div que té els articles 
255if($(".siteUPF .es-home").size()>0){ 
256  $(".article-container").addClass("container"); 
257
258 
259</script> 

Highlights Highlights



GRITIM-UPF (Interdisciplinary Research Group on Immigration)

Edifici Jaume I (campus de la Ciutadella)
Ramon Trias Fargas, 25-27
08005 Barcelona

 (+34) 935 421 943
 (+34) 935 421 941

[email protected]

Consolidated research group recognized by AGAUR (2017-2019). Reference: 2017 SGR 912

Presentation of Master in Migration Studies