Publicador de Conteúdos e Mídias

Cursos do Ensino Médio Técnico

Ensino Médio Técnico Senac Online - ao vivo
Inscrições abertas Bolsas

Nossa infraestrutura

Publicador de Conteúdos e Mídias

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> renderer.getArticle  [in template "20102#20129#40322" at line 52, column 52]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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 document = saxReaderUtil.read...  [in template "20102#20129#40322" at line 52, column 13]
----
1<style> 
2     
3    .ssp-card-infra-estrutura__image{ 
4	   position: relative; 
5
6 
7    .ssp-card-infra-estrutura__image img{ 
8      position: absolute; 
9      top:0; 
10      object-fit: cover; 
11      object-position: center; 
12      width: 100%; 
13      height: 100%; 
14
15 
16    .ssp-card-infra-estrutura__icon-btn{ 
17      background:unset; 
18      border:0; 
19
20 
21 
22    @media only screen and (max-width: 1024px){ 
23        /* 
24        .infra-estrutura-slick-area .slick-list { 
25            min-width: 100%; 
26            padding-left: 25px; 
27        }*/ 
28 
29        .infra-estrutura-slick-area .slick-prev.slick-arrow,.infra-estrutura-slick-area .slick-next.slick-arrow{ 
30 
31          display: none !important; 
32 
33
34 
35
36 
37     
38     
39     
40</style> 
41 
42 
43<#assign prefix = "ssp" /> 
44<#assign defaultImage = "" />   
45   
46      <div class="infra-estrutura-slick-area slider-container">   
47       
48        <#list entries![] as entry> 
49 
50          <#assign renderer = entry.getAssetRenderer() /> 
51 
52            <#assign document = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
53            <#assign rootElement = document.getRootElement() /> 
54            <#assign journalArticle = renderer.getArticle() /> 
55 
56     
57 
58            <#assign 
59 
60                    xPathSelectorInfraestruturaUnidade = saxReaderUtil.createXPath("dynamic-element[@field-reference='InfraestruturaUnidadeFieldSet']") 
61 
62                    infraestruturaUnidade = xPathSelectorInfraestruturaUnidade.selectSingleNode(rootElement) 
63                        <#--  Valor de Link tour  --> 
64                        xPathSelectorlinkTour360 = saxReaderUtil.createXPath("dynamic-element[@field-reference='linkTour360']") 
65                        linkTour360 = xPathSelectorlinkTour360.selectSingleNode(infraestruturaUnidade).getStringValue()?trim 
66                         
67            /> 
68 
69          <#--  Get no campo repeatable  --> 
70          <#assign infraItemRepeatableNode = document.getRootElement().selectNodes("//dynamic-element[@field-reference='infraUnidadeItemFieldSet']") /> 
71           
72          <#--  Lista de itens  --> 
73          <#list infraItemRepeatableNode as item> 
74 
75            <#--  Nome da ambiente  --> 
76            <#assign xPathSelector_nomeItem = saxReaderUtil.createXPath("dynamic-element[@field-reference='nomeInfraItem']")> 
77            <#assign nomeInfra = xPathSelector_nomeItem.selectSingleNode(item).getStringValue()?trim> 
78 
79            <#--  descrição  --> 
80            <#assign xPathSelector_descricao = saxReaderUtil.createXPath("dynamic-element[@field-reference='descricaoInfraitem']")> 
81 
82            <#assign descricaoInfra = xPathSelector_descricao.selectSingleNode(item).getStringValue()?trim> 
83             
84             <#--  Imagem  --> 
85             <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='fotoInfraitem']")> 
86 
87             <#assign imagemStr = xPathSelector.selectSingleNode(item).getStringValue()?trim> 
88 
89              <#-- get info imagem --> 
90              <#if imagemStr?contains("{")> 
91              <#assign 
92                  imagemJson = jsonFactoryUtil.createJSONObject(imagemStr) 
93                  imagemId = getterUtil.getInteger(imagemJson.get('fileEntryId')) 
94                  dl = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") 
95                  dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
96                  imagemInfraDescricao = imagemJson.get('alt')?default("") 
97
98              <#-- Verifica se o fileEntry existe --> 
99              <#attempt> 
100                  <#assign fileEntry = dl.getFileEntry(imagemId)> 
101                  <#assign imagemUrl = dlURLHelper.getDownloadURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, null)> 
102              <#recover> 
103                  <#assign imagemUrl = defaultImage> 
104              </#attempt> 
105          <#else> 
106              <#assign imagemUrl = defaultImage> 
107          </#if> 
108 
109            <#if imagemUrl?length != 0 > 
110                <div class="ssp-card-infra-estrutura"> 
111 
112                    <div class="ssp-card-infra-estrutura__image"> 
113 
114                    <img ssp-load-lazy-image="${imagemUrl}" loading="lazy" <#if imagemInfraDescricao?length != 0> alt="${imagemInfraDescricao}"</#if> >                  
115 
116                    </div> 
117 
118                    <div class="ssp-card-infra-estrutura__body"> 
119                        <button type="button"class="ssp-card-infra-estrutura__icon-btn"></button> 
120                        <h6 id="titulo-item" class="ssp-card-infra-estrutura__title">${nomeInfra}</h6> 
121                        <p class="ssp-card-infra-estrutura__description">${descricaoInfra}</p>                    
122                    </div> 
123 
124                </div> 
125            </#if> 
126 
127          </#list>   
128 
129        </#list> 
130 
131      </div>  
132 
133      <#if linkTour360?length != 0 > 
134       
135        <div class="ssp-card-infra-estrutura__tour-content"> 
136 
137          <p class="ssp-card-infra-estrutura__tour-title" style="width:270px">Conheça a Unidade através do nosso <span>Tour 360º</span></p> 
138      
139            <a class="btn ssp-card-infra-estrutura__tour-btn" href="${linkTour360}" target="_blank"> 
140 
141            <i class="fas fa-street-view mr-2 ssp-card-infra-estrutura__tour-btn-icon"></i>Tour 360º 
142 
143          </a> 
144 
145        </div> 
146          
147      </#if> 
148 
149      <script> 
150        var acc = document.getElementsByClassName("ssp-card-infra-estrutura__icon-btn"); 
151        var i; 
152         
153        for (i = 0; i < acc.length; i++) { 
154          acc[i].addEventListener("click", function() { 
155            this.classList.toggle("active-infra"); 
156            var panel = this.nextElementSibling.nextElementSibling; 
157            var title = document.getElementById("titulo-item") 
158             
159            if (panel.style.maxHeight) { 
160              panel.style.maxHeight = null; 
161              panel.style.marginBottom = null; 
162            //   title.style.fontSize="25px"; 
163            } else { 
164              panel.style.maxHeight = panel.scrollHeight + "px"; 
165              panel.style.marginBottom = "17.8px"; 
166            //   title.style.fontSize="18px"; 
167            }  
168          }); 
169
170         
171   
172 
173 
174 
175         
176         
177    </script> 

Conheça mais vantagens do Ensino Médio Técnico no Senac.

Saiba mais