O conteúdo desse portal pode ser acessível em Libras usando o VLibras

Banner da Home PORTAL

Programa Partiu IF: estudantes
de escolas públicas podem fazer
inscrição gratuita até o dia 3 de abril

Curso vai reforçar conhecimentos necessários para o Ensino
Médio e será preparatório para o exame de classificação do IFSC.
São mais de 900 vagas em 19 cidades de Santa Catarina

SAIBA MAIS

Cursos Destaque da Home

Estude no IFSC

Cursos

Conheça nossos cursos de qualificação, técnicos, graduação, especialização e mestrado.

Cursos

Vagas abertas

Acompanhe os cursos que estão com inscrições abertas e faça já a sua inscrição.

Vagas abertas

Resultados

Confira os selecionados para os nossos cursos e as orientações para a matrícula.

Resultados

Perguntas Frequentes

Veja as respostas para as principais dúvidas sobre nossos processos seletivos.

Perguntas Frequentes

Aviso Portal

Aplicações Aninhadas

Vídeos

Vídeos

Sepei 2025

Veja o vídeo

Publicador de Conteúdos e Mídias

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> xPathSelector.selectSingleNode(rootElement)  [in template "20154#20194#26151" at line 252, column 53]

----
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 conteudoDoArtigo = xPathSelec...  [in template "20154#20194#26151" at line 252, column 25]
----
1<!-- ADT PUBLICADOR DE CONTEÚDOS E MÍDIAS --> 
2<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
4<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
5<#assign companyLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.CompanyLocalService")> 
6 
7<#assign group = groupLocalService.getGroup(groupId)> 
8<#assign noticia_destaque = true /> 
9<#assign dateDayFormat = "dd" /> 
10<#assign dateMonthFormat = "MMM" /> 
11<#assign dateYearFormat = "yyyy" /> 
12<#assign targetFriendlyURL = "noticias-por-categoria" /> 
13<#assign targetFriendlyURLVideo = "videos-por-categoria" /> 
14<#assign targetViewUrl = "conteudo-aberto" /> 
15<#assign targetViewUrlVideo = "video-aberto" /> 
16 
17<!-- targetPortletID dos Campus --> 
18<#assign targetPortletIDCampusGaspar = "iktSPT1y33wn" /> 
19<#assign targetPortletIDVideoCampusGaspar = "vaqEGmvO4XIp" /> 
20 
21<#assign targetPortletIDCampusArarangua = "0LDjLof5rS7r" /> 
22 
23<#-- ---------------------------------------------------------------> 
24<!-- targetPortletID Aberto --> 
25<#assign targetPortletID = "1UWKZAkiOauK" /> 
26<#assign targetPortletIDVideo = "yPDbuoUoEZAI" /> 
27 
28<#assign friendlyURL = group.getFriendlyURL()> 
29<#assign isWebURL = (friendlyURL != "/guest") /> 
30<#assign currentURL = themeDisplay.getURLCurrent() /> 
31<#assign isHomePortal = (currentURL == "/web/guest" || currentURL == "/" || currentURL?contains("/inicio")) /> 
32<#assign isHomeNoticias = (currentURL == "/noticias" || currentURL?contains("/noticias")) /> 
33<#assign isHomeVideos = (currentURL == "/videos" || currentURL?contains("/videos")) /> 
34<#assign isIfscTV = (currentURL == "/ifsctv" || currentURL?contains("/ifsctv")) /> 
35<#assign campusName = friendlyURL /> 
36 
37<#function getViewURL assetRenderer> 
38  <#local assetGroupFriendlyURL = groupLocalService.getGroup(assetRenderer.getGroupId()).getFriendlyURL() /> 
39  <#return "/web${assetGroupFriendlyURL}/w/${assetRenderer.getUrlTitle()}" /> 
40</#function> 
41 
42<#assign company = companyLocalService.getCompany(companyId) /> 
43<#assign globalGroupId = company.getGroup().getGroupId() /> 
44<#assign destaqueOuMancheteVocabulary = vocabularyService.fetchGroupVocabulary(globalGroupId, "Destaque ou Manchete") /> 
45 
46<#-- Define the list of category names to exclude --> 
47<#assign excludedCategoryNames = ["Notícias", "Noticia", "Vídeo", "Todos os sites", "Blog", "Portal do Servidor"] /> 
48 
49<#list entries as entry> 
50    <#assign entry = entry /> 
51    <#assign assetRenderer = entry.getAssetRenderer() /> 
52    <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) /> 
53    <#assign categories = entry.getCategories()> 
54    <#assign article = journalArticleLocalService.getLatestArticle(entry.getClassPK())/> 
55    <#assign document = saxReaderUtil.read(article.getContent())/> 
56    <#assign rootElement = document.getRootElement() /> 
57    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='artigoFieldSet']") /> 
58    <#assign conteudoDoArtigo = xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
59    <#assign videoDoArtigo = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='id_do_video']").getStringValue() /> 
60    <#assign hasVideoArtigo = (videoDoArtigo?length > 10) /> 
61 
62	<#assign filteredCategories = [] /> 
63	<#list categories as category> 
64		<#if (category.getVocabularyId() != destaqueOuMancheteVocabulary.getVocabularyId()) && !(excludedCategoryNames?seq_contains(category.name))> 
65			<#assign filteredCategories = filteredCategories + [category] /> 
66		</#if> 
67	</#list> 
68 
69    <#assign nome_chapeu = "" /> 
70 
71    <#if xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='nome_chapeu']")?? > 
72      <#assign nome_chapeu = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='nome_chapeu']").getStringValue() /> 
73    </#if> 
74 
75    <#assign urlThumb = entry.getAssetRenderer().getThumbnailPath(renderRequest)!""/> 
76    <#assign hasThumb = urlThumb?has_content> 
77     
78    <#-- Use UTF-8 charset for URL escaping from now: --> 
79    <#setting url_escaping_charset="UTF-8"> 
80 
81    <#assign viewURL = getViewURL(assetRenderer) /> 
82 
83    <#switch campusName> 
84      <#case "/campus-gaspar"> 
85        <#assign viewURLVideo = "/web${friendlyURL}/${targetViewUrlVideo}/-/asset_publisher/${targetPortletIDVideoCampusGaspar}/content/id/${entry.getEntryId()}" /> 
86        <#break> 
87      <#default> 
88        <#assign viewURLVideo = "/${targetViewUrlVideo}/-/asset_publisher/${targetPortletIDVideo}/content/id/${entry.getEntryId()}" /> 
89    </#switch> 
90 
91    <#assign hasZero = false > 
92    <#list filteredCategories as category> 
93        <#assign categoryIndex = category_index /> 
94        <#assign isZero =  (categoryIndex == 0)> 
95        <#if (isZero) > 
96            <#assign hasZero = true > 
97            <#break> 
98        </#if> 
99    </#list> 
100 
101    <#assign hasFirst = false > 
102    <#list filteredCategories as category> 
103        <#assign categoryIndex = category_index /> 
104        <#assign isFirst =  (categoryIndex == 1)> 
105        <#if (isFirst) > 
106            <#assign hasFirst = true > 
107            <#break> 
108        </#if> 
109    </#list> 
110 
111    <#assign hasSecond = false > 
112    <#list categories as category> 
113        <#assign categoryIndex = category_index /> 
114        <#assign hasSecond =  (categoryIndex == 2)> 
115        <#if (hasSecond) > 
116            <#assign hasSecond = true > 
117            <#break> 
118        </#if> 
119    </#list> 
120 
121    <#assign hasThird = false > 
122    <#list filteredCategories as category> 
123        <#assign categoryIndex = category_index /> 
124        <#assign  hasThird =  (categoryIndex == 3)> 
125        <#if (hasThird) > 
126            <#assign hasThird = true > 
127            <#break> 
128        </#if> 
129    </#list> 
130 
131    <#assign chapeuCategory = ""/> 
132    <#assign hasCategory = false> 
133 
134 
135    <#list filteredCategories as category> 
136        <#assign hasCategory = true> 
137        <#assign hasChapeu = (nome_chapeu?trim?upper_case == category.name?upper_case) > 
138        <#if hasChapeu> 
139            <#assign chapeuCategory = category/> 
140            <#break> 
141        </#if> 
142        <#assign categoryIndex = category_index /> 
143        <#if !hasChapeu> 
144            <#if hasZero > 
145            <#if  categoryIndex  == 0 > 
146                <#assign chapeuCategory = category/> 
147            </#if> 
148            </#if> 
149            <#if hasFirst == true && hasZero == false> 
150            <#if  categoryIndex  == 1 > 
151                <#assign chapeuCategory = category/> 
152            </#if> 
153            </#if> 
154            <#if hasSecond == true && hasFirst == false && hasZero == false> 
155            <#if  categoryIndex  == 2 > 
156                <#assign chapeuCategory = category/> 
157            </#if> 
158            </#if> 
159            <#if hasThird == true && hasSecond == false && hasFirst == false && hasZero == false> 
160            <#if  categoryIndex  == 3 > 
161                <#assign chapeuCategory = category/> 
162            </#if> 
163            </#if> 
164            <#if hasThird == false && hasSecond == false && hasFirst == false && hasZero == false> 
165                <#assign chapeuCategory = category/> 
166            </#if> 
167        </#if> 
168    </#list> 
169 
170    <#if hasCategory > 
171      <#assign chapeuCategoryId = chapeuCategory.getCategoryId() /> 
172      <#assign instancePortletId = "?p_p_id=122_INSTANCE_pDpvw9aOr6wg&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_r_p_resetCur=true&p_r_p_categoryId=${chapeuCategoryId}" /> 
173      <#assign chapeuCategoryNameUpperCase = chapeuCategory.name?upper_case /> 
174    </#if> 
175 
176    <#assign chapeuNameUpperCase = nome_chapeu?upper_case /> 
177    <div id="entryIdManchete"  style="display: none">${entry.getEntryId()}</div> 
178    <#if (isHomePortal) > 
179      <div class="news-home"> 
180 
181        <h2>Notícias</h2> 
182 
183          <div class="row-fluid"> 
184            <#list entries as entry> 
185              <#assign entry = entry /> 
186              <#assign assetRenderer = entry.getAssetRenderer() /> 
187              <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) /> 
188              <#assign categories = entry.getCategories()> 
189              <#assign hasManchete = false > 
190 
191              <#list categories as category> 
192                <#if category.name == "Manchete Portal"> 
193                  <#assign hasManchete = true > 
194                </#if> 
195              </#list> 
196 
197              <#assign urlThumb = entry.getAssetRenderer().getThumbnailPath(renderRequest)!""/> 
198              <#assign hasThumb = urlThumb?has_content> 
199 
200              <#if (hasManchete) > 
201 
202                <div class="span12"> 
203                  <h6> 
204                    <#list categories as category> 
205						<#if category.name != "Destaque Portal" && category.name != "Notícias" && category.getName() != "Manchete Portal" && category.getName() != "Noticia" && category.getName() != "Destaque Todos os sites" && category.getName() != "Manchete Todos os sites" && category.getName() != "Destaque Portal do Servidor" && category.getName() != "Manchete Portal do Servidor"> 
206							<#assign hasCategory = true> 
207								<#if (videoDoArtigo?length > 10)> 
208									<#assign targetFriendlyURL = targetFriendlyURLVideo /> 
209								<#break> 
210							</#if> 
211						</#if> 
212                    </#list> 
213 
214                    <#if (isWebURL) > 
215                      <#if (hasCategory) > 
216                        <a class="tag" href="/web${friendlyURL}/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a> 
217                      </#if> 
218                      <#if (!hasCategory) > 
219                        <a class="tag">${chapeuNameUpperCase}</a> 
220                      </#if> 
221                    </#if> 
222                    <#if (!isWebURL) > 
223                      <#if (hasCategory) > 
224                        <a class="tag" href="/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a> 
225                      </#if> 
226                      <#if (!hasCategory) > 
227                        <a class="tag">${chapeuNameUpperCase}</a> 
228                      </#if> 
229                    </#if> 
230 
231                    <span> 
232                      <p>${dateUtil.getDate(entry.getPublishDate(), dateDayFormat, locale)}  ${dateUtil.getDate(entry.getPublishDate(), dateMonthFormat, locale)?lower_case} ${dateUtil.getDate(entry.getPublishDate(), dateYearFormat, locale)}</p> 
233                    </span> 
234                  </h6> 
235 
236                  <#if hasThumb > 
237                    <div class="img span12" style="background-image:url(${urlThumb});"></div> 
238                  </#if> 
239 
240                  <div class="lfr-meta-actions asset-actions"><@getEditIcon /></div> 
241                    <a href="${viewURL}"> 
242                      <h5>${entryTitle}</h5> 
243                      <#assign hasSummary = (entry.getSummary(locale)?has_content) /> 
244                      <#if (hasSummary) > 
245                        <p><@excerpt abstract="${entry.getSummary(locale)}"/></p> 
246                      </#if> 
247                      <#if (!hasSummary) > 
248                        <#assign article = journalArticleLocalService.getLatestArticle(entry.getClassPK())/> 
249                        <#assign document = saxReaderUtil.read(article.getContent())/> 
250                        <#assign rootElement = document.getRootElement() /> 
251                        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='artigo']") /> 
252                        <#assign conteudoDoArtigo = xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
253                        <#assign content = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='conteudo_do_artigo']").getStringValue() /> 
254 
255                        <p><@excerpt abstract="${content?replace('<[^>]*>', '', 'r')}"/></p> 
256                      </#if> 
257                    </a> 
258                  </div> 
259              </#if> 
260            </#list> 
261          </div> 
262      </div> 
263    </#if>  
264 
265    <#if (isHomeNoticias || isIfscTV || isHomeVideos) > 
266      <div class="featured-theme--news"> 
267        <div class="lfr-meta-actions asset-actions"><@getEditIcon /></div> 
268          <h6> 
269            <#list categories as category> 
270				<#if category.name != "Destaque Portal" && category.name != "Notícias" && category.getName() != "Manchete Portal" && category.getName() != "Vídeo" && category.getName() != "Noticia" && category.getName() != "Destaque Todos os sites" && category.getName() != "Manchete Todos os sites" && category.getName() != "Destaque Portal do Servidor" && category.getName() != "Manchete Portal do Servidor"> 
271					<#assign hasCategory = true> 
272					<#if (hasVideoArtigo) > 
273						<#assign targetFriendlyURL = targetFriendlyURLVideo /> 
274						<#break> 
275					</#if> 
276				</#if> 
277            </#list> 
278 
279            <#if (isWebURL) > 
280              <#if (hasCategory) > 
281                <a class="tag" href="/web${friendlyURL}/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a> 
282              </#if> 
283              <#if (!hasCategory) > 
284                <a class="tag">${chapeuNameUpperCase}</a> 
285              </#if> 
286            </#if> 
287            <#if (!isWebURL) > 
288              <#if (hasCategory) > 
289                <a class="tag" href="/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a> 
290              </#if> 
291              <#if (!hasCategory) > 
292                <a class="tag">${chapeuNameUpperCase}</a> 
293              </#if> 
294            </#if> 
295 
296            <span> 
297                <p>${dateUtil.getDate(entry.getPublishDate(), dateDayFormat, locale)}  ${dateUtil.getDate(entry.getPublishDate(), dateMonthFormat, locale)?lower_case} ${dateUtil.getDate(entry.getPublishDate(), dateYearFormat, locale)}</p> 
298            </span> 
299          </h6> 
300          <#if (hasVideoArtigo) > 
301              <a href="${viewURLVideo}"> 
302          <#else> 
303              <a href="${viewURL}"> 
304          </#if> 
305              <h2 class="anchor__iten" data-anchor="meu-conteudo1">${entryTitle}</h2> 
306 
307              <#if (hasVideoArtigo) > 
308                <iframe  width="100%" height="315" src="https://www.youtube.com/embed/${videoDoArtigo?trim}" frameborder="0" allowfullscreen></iframe> 
309              <#else> 
310                  <#if hasThumb > 
311                      <img src="${urlThumb}"/> 
312                      <#else > 
313                      <#assign hasSummary = entry.getSummary(locale)?has_content /> 
314                      <#if (hasSummary) > 
315                        <h4><@excerptFocus abstractFocus="${entry.getSummary(locale)}"/></h4> 
316                      <#else> 
317                          <#assign content = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='conteudo_do_artigo']").getStringValue() /> 
318                          <h4><@excerptFocus abstractFocus="${content?replace('<[^>]*>', '', 'r')}"/></h4> 
319                      </#if> 
320                  </#if> 
321              </#if> 
322          </a> 
323      </div> 
324    </#if> 
325</#list> 
326 
327<#macro getEditIcon> 
328    <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
329        <#assign redirectURL = renderResponse.createRenderURL() /> 
330 
331        ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")} 
332        ${redirectURL.setWindowState("pop_up")} 
333 
334        <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" /> 
335 
336        <#if validator.isNotNull(editPortletURL)> 
337            <#assign title = languageUtil.format(locale, "edit-x", entryTitle) /> 
338            <@liferay_ui["icon"] 
339                image="edit" 
340                message=title 
341                url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});" 
342            /> 
343        </#if> 
344    </#if> 
345</#macro> 
346 
347<#macro excerpt abstract> 
348    <#assign max=200> 
349    <#assign min=21> 
350    <#if abstract?length &lt; max> 
351        ${abstract} 
352    <#else> 
353        <#assign words=htmlUtil.escape(abstract)?word_list> 
354        <#if words?size gt min> 
355            <#list words[0..20] as word>${word} </#list>... 
356        <#else> 
357                ${abstract} 
358        </#if> 
359    </#if> 
360</#macro> 
361 
362<#macro excerptFocus abstractFocus> 
363    <#assign max = 40> 
364    <#if abstractFocus?word_list?size &lt; max> 
365        ${abstractFocus} 
366    <#else> 
367        <#assign words = htmlUtil.escape(abstractFocus)?word_list> 
368        <#list words[0..max] as word>${word} </#list>... 
369    </#if> 
370</#macro> 
371 
372<#macro getTitle> 
373  <#assign max=60> 
374  <#if entryTitle?length &lt; max> 
375    ${entryTitle} 
376  <#else> 
377    <#assign words=entryTitle?word_list> 
378    <#list words[0..5] as word>${word} </#list>... 
379  </#if> 
380</#macro> 
381 
382<#macro getEditIcon> 
383  <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
384    <#assign redirectURL = renderResponse.createRenderURL() /> 
385    ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")} 
386    ${redirectURL.setWindowState("pop_up")} 
387    <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" /> 
388      <#if validator.isNotNull(editPortletURL)> 
389        <#assign title = languageUtil.format(locale, "edit-x", entryTitle) /> 
390          <@liferay_ui["icon"] 
391            image="edit" 
392            message=title 
393            url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});" 
394          /> 
395      </#if> 
396  </#if> 
397</#macro> 

Publicador de Conteúdos e Mídias

Este site usa cookies para garantir que você obtenha a melhor experiência. Leia Mais.