Serviços In Company

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> articleXmlCurso.selectSingleNode("dynamic-element[@field-reference='Text58284801']")  [in template "298778#298819#null" at line 47, column 55]

----
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: tituloCurso = articleXmlCurso.selectS...  [in template "298778#298819#null" at line 47, column 41]
----
1<#assign  
2	JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3					 	JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] 
4	PortletFileRepositoryUtil = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"] 
5/> 
6 
7<#if (DDMStructure_RichText64234904.getData())??> 
8	<#if (DDMStructure_RichText64234904.getData()?replace("\t", "")?replace("\t", "") != "")> 
9	<div style="width: 100%; display: flex; justify-content: center; margin-top: 32px;"> 
10		<div style="max-width: 1016px; margin: 24px 0 40px; font-size: 14px"> 
11		${DDMStructure_RichText64234904.getData()} 
12		</div> 
13	</div> 
14</#if> 
15</#if> 
16 
17 
18 
19<#assign  
20					 url = themeDisplay.getPortalURL() + "/w/" 
21					 urlTitle = displayPageURL.getData()?remove_beginning(url) 
22
23<#assign	journalArticle = JournalArticleLocalService.fetchArticleByUrlTitle(themeDisplay.getLayout().getGroupId(),urlTitle) > 
24<#assign articleXml = journalArticle.getDocument().getRootElement()  
25	tituloCursoTag = articleXml.selectSingleNode("dynamic-element[@field-reference='Text94505766']").getStringValue()!"Graduação" 
26				 nodesCursosExemplos = articleXml.selectNodes("dynamic-element[@field-reference='JournalArticle55857161']") 
27				 /> 
28 
29	 
30	<#if nodesCursosExemplos?has_content> 
31		<div class="section-cursos-cards"> 
32		<#list nodesCursosExemplos as curso> 
33	 
34		<#assign cursoPK = curso.getStringValue()?keep_after('"classPK":"')?keep_before('",') /> 
35					<#if cursoPK != ""> 
36						 
37					<#assign cursoPK = cursoPK?number /> 
38 
39						 
40						<#if JournalArticleLocalService.fetchLatestArticle(cursoPK)?? > 
41					 
42							 
43					<#assign journalArticleCurso = JournalArticleLocalService.fetchLatestArticle(cursoPK)  
44	 
45					linkCurso = themeDisplay.getPortalURL() + "/w/" + journalArticleCurso.getUrlTitle() 
46					articleXmlCurso = journalArticleCurso.getDocument().getRootElement()  
47					tituloCurso = articleXmlCurso.selectSingleNode("dynamic-element[@field-reference='Text58284801']").getStringValue()!"" 
48					 
49					imagemCurso = articleXmlCurso.selectSingleNode("dynamic-element[@field-reference='Image67823320']").getStringValue()!"" 
50					 
51									 /> 
52						 
53	 
54				<#assign  
55					jsonObject = JSONFactoryUtil.createJSONObject(imagemCurso)  
56					fileEntryId = jsonObject.getLong("fileEntryId")	 
57					 
58				/> 
59			 
60				<#if fileEntryId != 0> 
61					<#assign 
62						fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(fileEntryId) 
63					fileEntryURL = PortletFileRepositoryUtil.getDownloadPortletFileEntryURL(themeDisplay, fileEntry,"") 
64					fileEntryURL = fileEntryURL?replace("\n\t\t", "") 
65							fileEntryURL = fileEntryURL?replace("\n\t", "") 
66 
67					/> 
68 
69				</#if> 
70					 
71					 <a class="cursos-card" href="${linkCurso}"> 
72          <div class="cursos-card-img"> 
73            <img src="${fileEntryURL}" /> 
74            <span>${tituloCursoTag}</span> 
75          </div> 
76          <div style="height: 100%;padding:24px;"> 
77            <h5 class="nome">${tituloCurso}</h5> 
78          </div> 
79        </a> 
80							 
81							 
82								 
83						</#if> 
84			</#if> 
85		 
86        
87				</#list> 
88      </div> 
89							 
90			 
91		 
92		</#if> 
93	 
94 
95 
96 
97<style> 
98.section-cursos-cards { 
99  display: flex; 
100  flex-wrap: wrap; 
101  gap: 24px; 
102  place-content: center; 
103	margin-top: 40px; 
104  margin-left: auto; 
105  margin-right: auto; 
106  margin-bottom: 64px; 
107  max-width: 1224px; 
108	    z-index: 2; 
109    position: sticky; 
110 
111
112	 
113.section-cursos-cards .cursos-card { 
114  width: 392px; 
115  height: 352px; 
116  border-radius: 9px 9px 8px 8px; 
117  background: var(--secundaria-faculdade, #662483); 
118  display: flex; 
119  flex-direction: column; 
120  text-decoration: none; 
121  transition: 250ms all ease-in-out; 
122
123 
124.section-cursos-cards .cursos-card:hover { 
125  box-shadow: 0px 8px 16px 0px #07467d66; 
126
127 
128.section-cursos-cards .cursos-card .cursos-card-img { 
129  height: 201px; 
130  position: relative; 
131
132 
133.section-cursos-cards .cursos-card .cursos-card-img img { 
134      height: 201px; 
135  width: 100%; 
136  border-radius: 8px 8px 0px 0px; 
137
138 
139.section-cursos-cards .cursos-card .cursos-card-img span { 
140  position: absolute; 
141  bottom: 0; 
142  left: 0; 
143 
144  display: inline-flex; 
145  padding: 12px; 
146  justify-content: center; 
147  align-items: center; 
148  gap: 15px; 
149  border-radius: 0px 8px 0px 0px; 
150  background: var(--secundaria-faculdade, #662483); 
151 
152  color: var(--neutro-branco, #fff); 
153  text-align: center; 
154 
155  /* P CURTO */ 
156  font-family: "PT Sans"; 
157  font-size: 18px; 
158  font-style: normal; 
159  font-weight: 400; 
160  line-height: 150%; /* 27px */ 
161
162 
163.section-cursos-cards .cursos-card .nome { 
164  display: flex; 
165 
166  flex-direction: column; 
167  justify-content: center; 
168  color: var(--neutro-branco, #fff); 
169  text-align: center; 
170 
171  /* H5 */ 
172  font-family: "PT Sans"; 
173  font-size: 22px; 
174  font-style: normal; 
175  font-weight: 700; 
176  line-height: 150%; 
177  height: 100%; 
178  margin: 0px; 
179
180	 
181	@media (max-width: 500px){ 
182 .section-cursos-cards .cursos-card { 
183        width: 100%; 
184	 margin-left: 12px; 
185    margin-right: 12px; 
186
187		 
188		.section-cursos-cards .slick-next { 
189    right: 0; 
190}  
191		 
192		 
193
194 
195</style> 
196	 
197	<script> 
198			 
199			function slickify(){ 
200            $('.section-cursos-cards').slick({ 
201                slidesToShow: 1.2, 
202                slidesToScroll: 1, 
203							infinite: false, 
204            }); 
205
206 
207          $(window).resize(function(){ 
208              var $windowWidth = $(document).width(); 
209              if ($windowWidth < 500) { 
210                  slickify();    
211              }else{ 
212                  $('.section-cursos-cards').slick("unslick"); 
213
214          }); 
215	 
216	$(document).ready(function(){ 
217	var $windowWidth = $(document).width(); 
218              if ($windowWidth < 500) { 
219                  slickify();    
220              }else{ 
221                  $('.section-cursos-cards').slick("unslick"); 
222
223}); 
224			</script> 

Oferecemos cursos técnicos semipresenciais empresas dos setores têxtil e vestuário

Um erro ocorreu enquanto processava o modelo.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 2:
Encountered ")", but was expecting one of:
    <STRING_LITERAL>
    <RAW_STRING>
    "false"
    "true"
    <INTEGER>
    <DECIMAL>
    "."
    "+"
    "-"
    "!"
    "["
    "("
    "{"
    <ID>
---end-message---

The failing expression:
==> faq.getStringValue()?eval  [in template "298778#298819#null" at line 31, column 92]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign journalArticleFaq = JournalAr...  [in template "298778#298819#null" at line 31, column 17]
----
1<#assign  
2	JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3					 	JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] 
4	PortletFileRepositoryUtil = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"] 
5/> 
6 
7<#assign  
8					 url = themeDisplay.getPortalURL() + "/w/" 
9					 urlTitle = displayPageURL.getData()?remove_beginning(url) 
10
11<#assign	journalArticle = JournalArticleLocalService.fetchArticleByUrlTitle(themeDisplay.getLayout().getGroupId(),urlTitle) > 
12<#assign articleXml = journalArticle.getDocument().getRootElement()  
13	 
14				 nodesDeFAQ = articleXml.selectNodes("dynamic-element[@field-reference='JournalArticle55136882']") 
15
16	 
17	<#if nodesDeFAQ?has_content> 
18		 
19 
20	<div class="perguntas-freq-container"> 
21			 
22			<h4 class="perguntas-freq-titulo"> 
23				Perguntas frequentes 
24			</h4> 
25		 
26		<div class="lista-perguntas"> 
27			<img class="pontos-circulo" src="${themeDisplay.getPortalURL()}/documents/298817/0/pontos-circulo.png/98222e3e-43fe-654e-597a-7b91bc91699e" /> 
28			<#list nodesDeFAQ as faq> 
29				 
30						 
31		<#assign journalArticleFaq = JournalArticleLocalService.fetchLatestArticle(faq.getStringValue()?eval['classPK']?number).getDocument().getRootElement()  > 
32			 
33			<#assign uniqueID = nodesDeFAQ?seq_index_of(faq) /> 
34				<#assign  
35						 pergunta = journalArticleFaq.selectSingleNode("dynamic-element[@field-reference='Text74542950']").getStringValue() 
36						 resposta = journalArticleFaq.selectSingleNode("dynamic-element[@field-reference='RichText90095339']").getStringValue() 
37						 />		 
38 
39		<div class="itemFAQ"> 
40	<div class="comprimentoMaximo"> 
41	<div class="pergunta" data-toggle="collapse" href="#collapse${uniqueID}" role="button" aria-expanded="false" aria-controls="collapse${uniqueID}"> 
42		<a id="botaoCollapse${uniqueID}" class="botao_expandir" > 
43			<span class="botao_mais"><i class="fa-solid fa-plus"></i></span> 
44		</a> 
45		<div class="container-pergunta"> 
46			<p>${pergunta}</p> 
47		</div> 
48	</div> 
49	<div class="tipoCursoResposta collapse" id="collapse${uniqueID}"> 
50		<div> 
51			<p>${resposta}</p> 
52		</div> 
53	</div> 
54			</div> 
55</div> 
56				 
57		</#list> 
58		</div> 
59	 
60		</div> 
61		 
62		</#if> 
63	 
64	<style> 
65		 
66		.perguntas-freq-container  { 
67			 
68			margin-top: 80px; 
69
70		 
71		.perguntas-freq-container .perguntas-freq-titulo { 
72		color: var(--neutra-preto, #081B2F); 
73text-align: center; 
74font-family: "PT Sans"; 
75font-size: 45px; 
76font-style: normal; 
77font-weight: 400; 
78line-height: 150%; /* 67.5px */ 
79		margin-bottom: 24px; 
80
81		 
82		.lista-perguntas { 
83			position: relative; 
84
85		 
86.itemFAQ { 
87	display: flex; 
88	align-items: center; 
89	flex-direction: column; 
90 
91
92		 
93		.pontos-circulo { 
94		position: absolute; 
95    right: 28px; 
96    top: -101px;	 
97
98 
99.comprimentoMaximo{ 
100	max-width: 1200px; 
101	width: 100%; 
102	    z-index: 2; 
103 
104
105 
106.comprimentoMaximo>div{ 
107	width: 100%; 
108
109 
110 
111 
112.pergunta{ 
113display: flex; 
114gap: 51px; 
115padding-bottom: 24px; 
116cursor: pointer; 
117	    align-items: center; 
118	transition: 500ms; 
119
120 
121.pergunta>div{ 
122display: flex; 
123    align-items: center; 
124	font-size: 20px; 
125font-weight: 700; 
126
127		 
128		.tipoCursoResposta{ 
129margin-bottom: 24px; 
130
131 
132.tipoCursoResposta>div{ 
133padding: 24px; 
134background-color: #FCFCFD; 
135 
136
137 
138.botao_expandir{ 
139font-size: 15px; 
140	background-color: var(--secundaria-faculdade); 
141	min-width: 40px; 
142height: 40px; 
143	display: flex; 
144	justify-content: center; 
145	align-items: center; 
146	border-radius: 50%; 
147	color: #fcfcfd; 
148
149 
150.botao_expandir:hover { 
151	color: #fcfcfd; 
152	 
153
154		 
155.container-pergunta { 
156    height: 100%; 
157    padding: 24px; 
158    background-color: #FCFCFD; 
159    width: 100%; 
160
161		 
162		.botao_mais i{ 
163		transition: 500ms; 
164
165		 
166		@media(max-width: 992px){ 
167.itemFAQ { 
168   margin-left: 15px; 
169    margin-right: 15px; 
170
171			 
172			.pontos-circulo { 
173			display: none;	 
174
175 
176
177		 
178</style> 
179<script> 
180	 
181	$('.tipoCursoResposta').on('show.bs.collapse', function () { 
182		console.log(event.target); 
183		event.target.closest(".pergunta").querySelector(".botao_mais i").style = "rotate: 45deg";  
184}) 
185	 
186		$('.tipoCursoResposta').on('hide.bs.collapse', function () { 
187			event.target.closest(".pergunta").querySelector(".botao_mais i").style = "rotate: 0deg"; 
188}) 
189	 
190</script> 

Vamos transformar as suas ideias em realidade!

Não perca a oportunidade de dar o primeiro passo para impulsionar o sucesso de seus projetos. Entre em contato agora mesmo e inicie a sua jornada rumo à soluções concretas e eficazes!
Entrar em contato