Pular para o conteúdo

Publicador de conteúdo Publicador de conteúdo

Retornar para página inteira

Mira Cidadão

Um erro ocorreu enquanto processava o modelo.
Expression serviceLocator is undefined on line 163, column 43 in 20154#20194#194368.
1<#-- 
2    Nome: Campanhas (Mod.Global) 
3    Idioma: Freemarker 
4    Data Alteração: 2022 31 10 
5    Tarefa: # 
6    Obs.: 
7--> 
8<#if (serviceLocator.findService("com.liferay.portal.service.ReleaseLocalService"))?? > 
9    <#assign hat = (.vars['hat'].getData()?trim)!"" > 
10    <#assign front_title = (.vars['front_title'].getData()?trim)!"" > 
11    <#assign sub_title = (.vars['sub_title'].getData()?trim)!"" > 
12    <#assign image = (.vars['image'].getData()?trim)!"" > 
13    <#assign source = (.vars['source'].getData()?trim)!"" > 
14    <#assign author = (.vars['author'].getData()?trim)!"" > 
15    <#assign full_text = (.vars['full_text'].getData()?trim)!"" > 
16     
17    <#if (radio_id.getData())??> 
18        <#assign radio_id = (.vars['radio_id'].getData()?trim)!"" > 
19        <#assign journalArticleRadio = (JournalArticleLocalService.getArticle( groupId, radio_id ))!"" > 
20    </#if> 
21    <#assign video_url = (.vars['video_url'].getData()?trim)!"" > 
22     
23     
24     
25    <#if (gallery_id.getData())??> 
26        <#assign gallery_id = (.vars['gallery_id'].getData()?trim)!"" > 
27        <#assign journalArticleGaleria = (JournalArticleLocalService.getArticle( groupId, gallery_id ))!"" > 
28    </#if> 
29 
30    <#setting datetime_format="dd 'de' MMMM 'de' yyyy 'às' HH:mm"> 
31     
32    <#assign theme_img_path = "/mt-portal-theme/images" > 
33     
34    <#assign mostrar_radio = "" > 
35    <#assign mostrar_video = "" > 
36    <#assign mostrar_galeria = "" > 
37    <#assign mostrar_audio = "" > 
38     
39    <#assign total_img = 0 > 
40     
41    <#assign articleId = .vars['reserved-article-id'].data > 
42     
43    <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")> 
44    <#assign journalArticle = JournalArticleLocalService.getArticle( groupId, articleId ) > 
45     
46    <#assign createDate = journalArticle["displayDate"]?datetime > 
47     
48     
49    <#if radio_id != "" > 
50    	<#assign documentRadio = saxReaderUtil.read(journalArticleRadio.getContent()) > 
51     
52    	<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='radio_url']") > 
53    	<#assign radio_url = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" > 
54    	<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") > 
55    	<#assign radio_img = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" > 
56    	 
57    	<#if radio_url != "" > 
58    		<#assign radioTitulo = journalArticleRadio.getTitle(locale) > 
59    		<#assign radioUrlTitle = journalArticleRadio["urlTitle"] > 
60    		<#assign radioUserName = journalArticleRadio["userName"] > 
61    		 
62    		<#assign mostrar_radio = '<div class="row-fluid"><div class="span5"><div style="background:url(${radio_img});background-size:cover;width:100%;height:220px;"></div></div><div class="span7" style="padding:20px 0;"><span><a href="/web/guest/-/${radioUrlTitle}"><h3>${radioTitulo}</h3></a></span><small>Autor: ${radioUserName}</small><audio controls style="width:90%;opacity:.4;"><source src="${radio_url}" type="audio/mpeg"> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>' > 
63    	</#if> 
64    </#if> 
65     
66     
67    <#if gallery_id != "" > 
68    	<#assign documentGaleria = saxReaderUtil.read(journalArticleGaleria.getContent()) > 
69    	<#assign rootElementGaleria = documentGaleria.getRootElement() > 
70     
71    	<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") > 
72    	<#assign imageGaleria = (xPathSelector.selectSingleNode(documentGaleria.getRootElement()).getStringValue())!"" > 
73    	<#assign total_img = xPathSelector.selectNodes(rootElementGaleria)?size > 
74     
75    	<#if total_img != 0 > 
76    		<#assign total_img = total_img - 1  /> 
77    		 
78    		<#list 0..total_img as posicao > 
79    			<#assign xPathSelector = saxReaderUtil.createXPath('dynamic-element[@name="image"][@index="${posicao}"]/dynamic-content') /> 
80    			<#assign img_url = xPathSelector.selectSingleNode(rootElementGaleria).getStringValue() /> 
81    			 
82    			<!--<img src="${img_url}" /><br>--> 
83     
84    		</#list> 
85    	</#if> 
86    </#if> 
87     
88     
89    <#if video_url != "" > 
90    	<#assign video_url = video_url?split("/")[3] > 
91    	 
92    	<#assign mostrar_video = '<object width="100%" height="360" class="hidden-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="360"></embed></object><object width="100%" height="240" class="visible-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="240"></embed></object>' > 
93    </#if> 
94     
95     
96    <#if .vars['titulo_do_audio'].getSiblings()?has_content> 
97    	<#list .vars['titulo_do_audio'].getSiblings() as cur_item> 
98    		<#assign audio_titulo = cur_item.getData() > 
99    		<#assign audio_arquivo = cur_item.audio.getData() > 
100    		 
101    		<#assign mostrar_audio = mostrar_audio + "<div class='row-fluid'><div class='span2'></div><div class='span8' style='padding:20px 0;'><span><h3> ${audio_titulo}</h3></span><audio controls style='width:90%;opacity:.4;'><source src='${audio_arquivo}' type='audio/mpeg'> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>" > 
102    	</#list> 
103    </#if> 
104     
105    <#assign conteudo = full_text > 
106    <#assign conteudo = conteudo?replace("[[radio]]", mostrar_radio) > 
107    <#assign conteudo = conteudo?replace("[[audio]]", mostrar_audio) > 
108    <#assign conteudo = conteudo?replace("[[video]]", mostrar_video) > 
109    <#assign conteudo = conteudo?replace("[[galeria]]", mostrar_galeria) > 
110     
111     
112    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
113    <style> 
114    .main-img{width:100%;padding:30px 0;margin:30px 0;} 
115    cite{font-size:24px;font-weight:bold;} 
116    cite:before{content: '"';font-size: 48px;font-style: italic;vertical-align: text-bottom;padding-right: 5px;} 
117    cite:after{content: '"';font-size: 48px;font-style: italic;display: -webkit-inline-box;-webkit-transform: matrix(-1, 0, 0, -1, 0, 0);margin-left: 5px;} 
118    person{display: block;text-align: center;font-size: 12px;} 
119    p.left{float:left;width:30%;padding:20px 10px 20px 0;text-align:left;} 
120    p.right{float:right;width:30%;padding:20px 0 20px 10px;text-align:right;} 
121    .insert-video{margin:20px 0;} 
122    .insert-radio{padding: 0;min-height: 100px;background: #F0F5F8;margin: 20px 0;} 
123    .insert-radio a h3{font-family:'Nexa';color:#324688;margin: 0;line-height:30px;} 
124    .insert-radio small{font-size:12px;color:#324688;display:block;margin-bottom:10px;} 
125    .taglib-header:after {content: "${createDate}";font-size: 12px;float:right;margin-bottom: 30px;} 
126    .sub-title{font-weight:bold;font-size:18px;} 
127    </style> 
128     
129    <span class="sub-title">${sub_title}</span> 
130    <#if image != "" > 
131    	<div class="main-img"><img src="${image}" /></div> 
132    </#if> 
133    <div style="text-align: justify;margin-top:30px;">${conteudo}</div> 
134<#else> 
135    <#assign hat = (.vars['hat'].getData()?trim)!"" > 
136    <#assign front_title = (.vars['front_title'].getData()?trim)!"" > 
137    <#assign sub_title = (.vars['sub_title'].getData()?trim)!"" > 
138    <#assign image = (.vars['image'].getData()?trim)!"" > 
139    <#assign source = (.vars['source'].getData()?trim)!"" > 
140    <#assign author = (.vars['author'].getData()?trim)!"" > 
141    <#assign full_text = (.vars['full_text'].getData()?trim)!"" > 
142    <#if (radio_id.getData())??> 
143        <#assign radio_id = (.vars['radio_id'].getData()?trim)!"" > 
144        <#assign journalArticleRadio = (JournalArticleLocalService.getArticle( groupId, radio_id ))!"" > 
145    </#if> 
146    <#assign video_url = (.vars['video_url'].getData()?trim)!"" > 
147    <#if (gallery_id.getData())??> 
148        <#assign gallery_id = (.vars['gallery_id'].getData()?trim)!"" > 
149        <#assign journalArticleGaleria = (JournalArticleLocalService.getArticle( groupId, gallery_id ))!"" > 
150    </#if> 
151    <#setting datetime_format="dd 'de' MMMM 'de' yyyy 'às' HH:mm"> 
152     
153    <#assign theme_img_path = "/mt-portal-theme/images" > 
154     
155    <#assign mostrar_radio = "" > 
156    <#assign mostrar_video = "" > 
157    <#assign mostrar_galeria = "" > 
158    <#assign mostrar_audio = "" > 
159     
160    <#assign total_img = 0 > 
161     
162    <#assign articleId = .vars['reserved-article-id'].data > 
163    <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
164    <#assign journalArticle = JournalArticleLocalService.getArticle( groupId, articleId ) > 
165    <#assign createDate = journalArticle["displayDate"]?datetime > 
166    <#if radio_id != "" > 
167    	<#assign documentRadio = saxReaderUtil.read(journalArticleRadio.getContent()) > 
168     
169    	<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='radio_url']") > 
170    	<#assign radio_url = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" > 
171    	<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") > 
172    	<#assign radio_img = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" > 
173    	 
174    	<#if radio_url != "" > 
175    		<#assign radioTitulo = journalArticleRadio.getTitle(locale) > 
176    		<#assign radioUrlTitle = journalArticleRadio["urlTitle"] > 
177    		<#assign radioUserName = journalArticleRadio["userName"] > 
178    		 
179    		<#assign mostrar_radio = '<div class="row-fluid"><div class="span5"><div style="background:url(${radio_img});background-size:cover;width:100%;height:220px;"></div></div><div class="span7" style="padding:20px 0;"><span><a href="/web/guest/-/${radioUrlTitle}"><h3>${radioTitulo}</h3></a></span><small>Autor: ${radioUserName}</small><audio controls style="width:90%;opacity:.4;"><source src="${radio_url}" type="audio/mpeg"> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>' > 
180    	</#if> 
181    </#if> 
182     
183     
184    <#if gallery_id != "" > 
185    	<#assign documentGaleria = saxReaderUtil.read(journalArticleGaleria.getContent()) > 
186    	<#assign rootElementGaleria = documentGaleria.getRootElement() > 
187     
188    	<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") > 
189    	<#assign imageGaleria = (xPathSelector.selectSingleNode(documentGaleria.getRootElement()).getStringValue())!"" > 
190    	<#assign total_img = xPathSelector.selectNodes(rootElementGaleria)?size > 
191     
192    	<#if total_img != 0 > 
193    		<#assign total_img = total_img - 1  /> 
194    		 
195    		<#list 0..total_img as posicao > 
196    			<#assign xPathSelector = saxReaderUtil.createXPath('dynamic-element[@name="image"][@index="${posicao}"]/dynamic-content') /> 
197    			<#assign img_url = xPathSelector.selectSingleNode(rootElementGaleria).getStringValue() /> 
198    			 
199    			<!--<img src="${img_url}" /><br>--> 
200     
201    		</#list> 
202    	</#if> 
203    </#if> 
204     
205     
206    <#if video_url != "" > 
207    	<#assign video_url = video_url?split("/")[3] > 
208    	 
209    	<#assign mostrar_video = '<object width="100%" height="360" class="hidden-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="360"></embed></object><object width="100%" height="240" class="visible-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="240"></embed></object>' > 
210    </#if> 
211     
212     
213    <#if .vars['titulo_do_audio'].getSiblings()?has_content> 
214    	<#list .vars['titulo_do_audio'].getSiblings() as cur_item> 
215    		<#assign audio_titulo = cur_item.getData() > 
216    		<#assign audio_arquivo = cur_item.audio.getData() > 
217    		 
218    		<#assign mostrar_audio = mostrar_audio + "<div class='row-fluid'><div class='span2'></div><div class='span8' style='padding:20px 0;'><span><h3> ${audio_titulo}</h3></span><audio controls style='width:90%;opacity:.4;'><source src='${audio_arquivo}' type='audio/mpeg'> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>" > 
219    	</#list> 
220    </#if> 
221     
222    <#assign conteudo = full_text > 
223    <#assign conteudo = conteudo?replace("[[radio]]", mostrar_radio) > 
224    <#assign conteudo = conteudo?replace("[[audio]]", mostrar_audio) > 
225    <#assign conteudo = conteudo?replace("[[video]]", mostrar_video) > 
226    <#assign conteudo = conteudo?replace("[[galeria]]", mostrar_galeria) > 
227     
228     
229    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
230    <style> 
231    .main-img{width:100%;padding:30px 0;margin:30px 0;} 
232    cite{font-size:24px;font-weight:bold;} 
233    cite:before{content: '"';font-size: 48px;font-style: italic;vertical-align: text-bottom;padding-right: 5px;} 
234    cite:after{content: '"';font-size: 48px;font-style: italic;display: -webkit-inline-box;-webkit-transform: matrix(-1, 0, 0, -1, 0, 0);margin-left: 5px;} 
235    person{display: block;text-align: center;font-size: 12px;} 
236    p.left{float:left;width:30%;padding:20px 10px 20px 0;text-align:left;} 
237    p.right{float:right;width:30%;padding:20px 0 20px 10px;text-align:right;} 
238    .insert-video{margin:20px 0;} 
239    .insert-radio{padding: 0;min-height: 100px;background: #F0F5F8;margin: 20px 0;} 
240    .insert-radio a h3{font-family:'Nexa';color:#324688;margin: 0;line-height:30px;} 
241    .insert-radio small{font-size:12px;color:#324688;display:block;margin-bottom:10px;} 
242    .taglib-header:after {content: "${createDate}";font-size: 12px;float:right;margin-bottom: 30px;} 
243    .sub-title{font-weight:bold;font-size:18px;} 
244    </style> 
245     
246    <span class="sub-title">${sub_title}</span> 
247    <#if image != "" > 
248    	<div class="main-img"><img src="${image}" /></div> 
249    </#if> 
250    <div style="text-align: justify;margin-top:30px;">${conteudo}</div> 
251</#if>