Nav Bar do usuário deslogado.

luiz miguel

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> Numrico12424755  [in template "34764#34807#null" at line 18, column 23]

----
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: #if (Numrico12424755.getData()) != "0...  [in template "34764#34807#null" at line 18, column 17]
----
1<#assign UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
2 
3<#assign nomeDoUsuario = "" > 
4<#assign emailDoUsuario = "" > 
5<#assign telDoUsuario = "" > 
6<#assign linkedinDoUsuario = "" > 
7<#assign instagramDoUsuario = "" > 
8<#assign cidadeinDoUsuario = "" > 
9<#assign estadoDoUsuario = "" > 
10<#assign paisDoUsuario = "" > 
11 
12<#if (_CUSTOM_FIELD_user.getData())??> 
13	<#assign userId = _CUSTOM_FIELD_user.getData() > 
14	<#assign usuario = UserLocalService.fetchUser(userId?number)!"" > 
15	<#assign statusLogin = 0 /> 
16	 
17	<#if (usuario)??>	 
18		<#if (Numrico12424755.getData()) != "0" || statusLogin == 1> 
19			<#assign nomeDoUsuario = usuario.getFullName()!"" > 
20		</#if> 
21		 
22		<#if (Numrico04827109.getData()) != "0" || statusLogin == 1> 
23			<#assign emailDoUsuario = usuario.getEmailAddress()!"" > 
24		</#if> 
25	</#if> 
26	 
27</#if> 
28 
29<#assign 
30	EXIBIR = "1" 
31	site = "" 
32	instagram = (CampoDeTexto80034719.getData() != "0" )?string(Text28208517.getData()!"","") 
33	linkedin = (CampoDeTexto27238437.getData() != "0" )?string(Text63396047.getData()!"","")  
34	facebook = "" 
35
36 
37<#if CampoDeTexto61603113.getData() != "0" > 
38	<#assign telDoUsuario = CampoDeTexto61603113.getData()!"" > 
39</#if> 
40 
41 
42<#if CampoDeTexto27238437.getData() != "0" > 
43	<#assign linkedinDoUsuario = Text63396047.getData()!"" > 
44</#if> 
45 
46 
47<#if (CampoDeTexto80034719.getData()) != "0" > 
48	<#assign instagramDoUsuario = Text28208517.getData()!"" > 
49</#if> 
50 
51<#if (CampoDeTexto80602799.getData()) != "0" > 
52	<#assign cidadeinDoUsuario = Text74198597.getData()!"" > 
53</#if> 
54 
55 
56<#if (CampoDeTexto47855707.getData()) != "0" > 
57	<#assign estadoDoUsuario = Text44010961.getData()!"" > 
58</#if> 
59 
60<#if (CampoDeTexto10910128.getData()) != "0"> 
61	<#assign paisDoUsuario = Text60583910.getData()!"" > 
62</#if> 
63 
64<div class="bioec_profile-sidebar"> 
65	<div> 
66		 
67 
68		<div id="profilePic"> 
69	 
70	  <#assign exibirImagem = false> 
71	 
72		<#if CampoDeTexto92229541.getData()?trim != "0"> 
73			  <#if (CampoDeTexto73180976.getData())?? && CampoDeTexto73180976.getData() != "" && CampoDeTexto73180976.getData() != "null"> 
74					<#assign exibirImagem = true> 
75				</#if>				 
76		</#if> 
77 
78		<#if exibirImagem>  
79			<div class="profilePic_Frame">	 
80				<img src="${CampoDeTexto73180976.getData()}" /> 
81			</div> 
82		<#else> 
83			<img src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjYwIiBjeT0iNjAiIHI9IjYwIiBmaWxsPSIjNTk1QTVGIi8+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xXzQzODcpIj4KPHBhdGggZD0iTTYwIDY0LjVDNzEuMTc5NyA2NC41IDgwLjI1IDU1LjQyOTcgODAuMjUgNDQuMjVDODAuMjUgMzMuMDcwMyA3MS4xNzk3IDI0IDYwIDI0QzQ4LjgyMDMgMjQgMzkuNzUgMzMuMDcwMyAzOS43NSA0NC4yNUMzOS43NSA1NS40Mjk3IDQ4LjgyMDMgNjQuNSA2MCA2NC41Wk03OCA2OUg3MC4yNTE2QzY3LjEyOTcgNzAuNDM0NCA2My42NTYyIDcxLjI1IDYwIDcxLjI1QzU2LjM0MzggNzEuMjUgNTIuODg0NCA3MC40MzQ0IDQ5Ljc0ODQgNjlINDJDMzIuMDU3OCA2OSAyNCA3Ny4wNTc4IDI0IDg3Vjg5LjI1QzI0IDkyLjk3NjYgMjcuMDIzNCA5NiAzMC43NSA5Nkg4OS4yNUM5Mi45NzY2IDk2IDk2IDkyLjk3NjYgOTYgODkuMjVWODdDOTYgNzcuMDU3OCA4Ny45NDIyIDY5IDc4IDY5WiIgZmlsbD0id2hpdGUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xXzQzODciPgo8cmVjdCB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNCAyNCkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K'/> 
84		</#if> 
85		 
86	  </div> 
87 
88		<div id="profileInfo"> 
89		<#if nomeDoUsuario != ""> 
90			<div id="profileInfo_nome" class="profileInfo_campo"> 
91					<h5>Nome completo</h5> 
92					<p>${nomeDoUsuario}</p> 
93			</div> 
94		</#if> 
95		 
96		<#if emailDoUsuario != ""> 
97			<div id="profileInfo_email" class="profileInfo_campo profile_field"> 
98				<h5>E-mail</h5> 
99				<p>${emailDoUsuario}</p> 
100			</div> 
101		</#if> 
102			 
103		<#if telDoUsuario != "" && telDoUsuario != "null"> 
104			<div id="profileInfo_tel" class="profileInfo_campo profile_field"> 
105					<h5>Telefone</h5> 
106					<p>${telDoUsuario?string?replace(".", "")}</p> 
107			</div> 
108		</#if> 
109			 
110		<#if cidadeinDoUsuario != ""> 
111			<div id="profileInfo_cidade" class="profileInfo_campo profile_field"> 
112					<h5>Cidade</h5> 
113					<p>${cidadeinDoUsuario} </p> 
114			</div> 
115		</#if> 
116		 
117		<#if estadoDoUsuario != "">	 
118			<div id="profileInfo_estado" class="profileInfo_campo profile_field"> 
119					<h5>Estado</h5> 
120					<p>${estadoDoUsuario}</p> 
121			</div> 
122		</#if> 
123		 
124		<#if paisDoUsuario != ""> 
125			<div id="profileInfo_pais" class="profileInfo_campo profile_field"> 
126					<h5>País</h5> 
127					<p>${paisDoUsuario}</p> 
128			</div> 
129		</#if> 
130		 
131		</div> 
132		 
133	<div class="bioec_org_info_social_container"> 
134		<#if site != ""> 
135			<a href="${site}" target="_blank" rel="noopener noreferrer"> 
136				<i class="fa-solid fa-laptop"></i> 
137			</a> 
138		</#if> 
139		 
140		<#if instagram != ""> 
141			<a href="${instagram}" target="_blank" rel="noopener noreferrer"> 
142				<i class="fa-brands fa-instagram"></i> 
143			</a> 
144		</#if> 
145		 
146		<#if linkedin != ""> 
147			<a href="${linkedin}" target="_blank" rel="noopener noreferrer"> 
148				<i class="fa-brands fa-linkedin-in"></i> 
149			</a> 
150		</#if> 
151		 
152		<#if facebook != ""> 
153			<a href="${facebook}" target="_blank" rel="noopener noreferrer"> 
154				<i class="fa-brands fa-facebook"></i> 
155			</a> 
156		</#if> 
157		 
158	</div> 
159		 
160		 
161	</div> 
162</div> 
163 
164<script> 
165		function adicionarTagDeUser(){ 
166			<#if userId??> 
167				if(!window.location.search.includes("tag=user")) { 
168					window.location.search = window.location.search + "&tag=user-${userId}" 
169
170			</#if> 
171
172</script> 
173 
174<style> 
175	.bioec_profile-sidebar { 
176	padding: 40px 24px 80px 0px; 
177	height: 100%; 
178	background-color: #E8ECEF; 
179
180 
181.bioec_profile-sidebar > div{ 
182	display: flex; 
183	flex-direction: column; 
184	gap: 40px; 
185
186 
187.bioec_profile-sidebar #profilePic{ 
188	display: flex; 
189	justify-content: center; 
190	width: 120px; 
191	height: 120px; 
192	margin: auto; 
193
194 
195.bioec_profile-sidebar .profilePic_Frame{ 
196border-radius: 100%; 
197	width: 100%; 
198	height: 100%; 
199	overflow: hidden; 
200
201 
202.bioec_profile-sidebar #profileInfo{ 
203display: flex; 
204flex-direction: column; 
205gap: 24px; 
206
207 
208.bioec_profile-sidebar .profileInfo_campo{ 
209border-bottom: 1px solid #BEBEBE; 
210 
211
212 
213.bioec_profile-sidebar .profileInfo_campo h5{ 
214color: #5B5C61; 
215font-weight: 700; 
216	margin-bottom: 8px; 
217
218 
219.bioec_profile-sidebar .profileInfo_campo p{ 
220margin-bottom: 4px; 
221line-height: 24px; 
222min-height: 24px; 
223color: #5B5C61; 
224
225 
226.bioec_org_info_social_container { 
227    display: flex; 
228    flex-direction: row; 
229    align-items: center; 
230    justify-content: center; 
231    margin: 40px 0; 
232
233 
234.bioec_org_info_social_container a { 
235    font-size: 35px; 
236    color: #5B5C61; 
237    margin: 0 15px; 
238
239 
240.bioec_profile-sidebar #editProfile{ 
241	display: none; 
242
243 
244@media (max-width: 760px) { 
245 
246	.bioec_profile-sidebar{ 
247		padding: 40px 24px 80px; 
248
249 
250	.bioec_profile-sidebar #editProfile{ 
251		display: flex; 
252		justify-content: flex-end; 
253		width: 100%; 
254
255
256 
257.profilePic_Frame { 
258	width: 120px; 
259	height: 120px; 
260
261 
262.profilePic_Frame>img{ 
263	border-radius: 50%; 
264	width: 100%; 
265  height: 100%; 
266  object-fit: cover; 
267
268</style> 
  • Sobre
  • Organizações
  • Demandas
  • Ofertas
  • Publicações
Sobre drop zone
Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy116.getUserById(long)" threw an exception when invoked on com.sun.proxy.$Proxy116 object "com.liferay.message.boards.internal.service.MBMessageUserLocalServiceWrapper@a3816ff"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: user = UserLocalService.getUserById(_...  [in template "34764#34807#null" at line 12, column 9]
----
1<#assign  
2	UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") 
3	JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
4/> 
5 
6<#assign  
7showSetores = false 
8showTemas = false 
9
10 
11<#assign  
12	user = UserLocalService.getUserById(_CUSTOM_FIELD_user.getData()?number) 
13	articleId = user.getExpandoBridge().getAttribute("journal-article") 
14	journalArticle = JournalArticleLocalService.getArticle(themeDisplay.getLayout().getGroupId(),articleId)  
15	articleXml = journalArticle.getDocument().getRootElement() 
16	 
17	setores = articleXml.selectNodes("dynamic-element[@name='CampoDeTexto87399736']") 
18	temas = articleXml.selectNodes("dynamic-element[@name='CampoDeTexto26318525']") 
19/> 
20 
21<#if (CampoDeTexto87399736.getData())?? && CampoDeTexto48913778.getData() != "0" > 
22<#assign showSetores = true> 
23</#if> 
24 
25<#if setores?size == 1 && setores[0].getStringValue()?trim == "" > 
26<#assign showSetores = false> 
27</#if> 
28 
29<#if (CampoDeTexto26318525.getData())?? && CampoDeTexto69455401.getData() != "0" > 
30	<#assign showTemas = true> 
31</#if> 
32 
33<#if temas?size == 1 && temas[0].getStringValue()?trim == "" > 
34	<#assign showTemas = false> 
35</#if> 
36 
37<#if CampoDeTexto27402695.getData() != "0"> 
38	<div class="bioec_perfil-sobre-mim"> 
39		<label>Sobre você</label> 
40		<div class="bioec_perfil-sobre-mim-container"> 
41			<#if CopyOfText22799390.getData()?? && CopyOfText22799390.getData() != "" > 
42				${CopyOfText22799390.getData()} 
43			<#else> 
44				<div class="bioec_perfil-sobre-mim-vazio"> 
45					Nenhuma descrição foi adicionada neste perfil ainda 
46				</div> 
47			</#if> 
48		</div> 
49	</div> 
50</#if> 
51 
52 
53<#if showSetores || showTemas> 
54<div class="bioec_org-principal-container"> 
55	<div class="row"> 
56		<div class="col-md-6"> 
57		 <#if showSetores> 
58			<h3>Setor(es) de atuação</h3> 
59				<ul> 
60				 
61						<#list setores as setoresAtuacao> 
62							<li>${setoresAtuacao.getStringValue()}</li> 
63						</#list> 
64			 
65				</ul> 
66					</#if> 
67	 
68	<#if showTemas> 
69			<h3>Tema(s) de interesse</h3> 
70			<ul> 
71					  
72						 <#list temas as temasAtuacao> 
73								<li>${temasAtuacao.getStringValue()}</li> 
74						</#list> 
75				 
76				 
77			</ul> 
78			</#if> 
79 
80		</div> 
81	</div> 
82</div> 
83</#if> 
84 
85 
86<style> 
87.bioec_perfil-sobre-mim label { 
88	color: var(--black-2); 
89	font-weight: 700; 
90	margin-bottom: 10px; 
91	font-size: 20px; 
92	line-height: 30px; 
93
94 
95.bioec_perfil-sobre-mim .bioec_perfil-sobre-mim-container { 
96	font-size: 16px; 
97	border: 1px solid var(--gray-1); 
98	padding: 24px; 
99
100 
101 .bioec_perfil-sobre-mim .bioec_perfil-sobre-mim-vazio { 
102	color: var(--black-2); 
103	font-size: 16px; 
104	text-align: center; 
105	font-weight: 700; 
106
107 
108 .bioec_org-principal-container { 
109	font-size: 16px; 
110	border: 1px solid var(--gray-1); 
111	padding: 24px; 
112	color: var(--black-1); 
113
114 
115	.bioec_org-principal-container h3 { 
116	font-size: 20px; 
117	line-height: 20px; 
118	margin-bottom: 8px; 
119
120 
121 .bioec_org-principal-container .bioec_org-principal-campo { 
122	margin-bottom: 24px; 
123	border-bottom: 1px solid var(--gray-1); 
124	line-height: 30px; 
125	font-size: 16px; 
126
127</style> 
Organizações drop zone
Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy116.getUser(long)" threw an exception when invoked on com.sun.proxy.$Proxy116 object "com.liferay.message.boards.internal.service.MBMessageUserLocalServiceWrapper@a3816ff"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: user = UserLocalService.getUser(userId)  [in template "34764#34807#null" at line 8, column 9]
----
1<#assign  
2	JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3	UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") 
4
5 
6<#assign  
7	userId = _CUSTOM_FIELD_user.getData()?number 
8	user = UserLocalService.getUser(userId) 
9	userOrgs = user.getOrganizations() 
10/> 
11 
12<div class="bioec_orgs-list"> 
13	<#if userOrgs?has_content> 
14			<#list userOrgs as entry> 
15				<#assign articleId = entry.getExpandoBridge().getAttribute("journal-article")!"0" /> 
16				<#if articleId?? && articleId != 0 && articleId?string != "0" > 
17					<#assign journalArticle = JournalArticleLocalService.getArticle(334507, articleId?string) /> 
18					 
19					<#assign 
20						url = themeDisplay.getURLPortal() + "/w/" + journalArticle.getUrlTitle() + "?tag=organization-${entry.getPrimaryKey()}"	 
21						articleXml = journalArticle.getDocument().getRootElement() 
22
23						 
24					<#if articleXml??> 
25						<#assign 
26							tipo = articleXml.selectSingleNode("dynamic-element[@name='Text77560090']").getStringValue()!"" 
27 
28							cidade = articleXml.selectSingleNode("dynamic-element[@name='Text74198597']").getStringValue()!"" 
29							estado = articleXml.selectSingleNode("dynamic-element[@name='Text44010961']").getStringValue()!"" 
30							pais = articleXml.selectSingleNode("dynamic-element[@name='Text60583910']").getStringValue()!"" 
31							localizacao = cidade?trim + "," + estado + "-" + pais 
32 
33							setores = articleXml.selectNodes("dynamic-element[@name='Text40807358']") 
34							 
35							selo = articleXml.selectSingleNode("dynamic-element[@name='SeleoMltipla53056287']").getStringValue()!"" 
36							selo = selo?replace("\n\t\t", "") 
37						selo = selo?replace("\n\t", "")	 
38 
39							site = articleXml.selectSingleNode("dynamic-element[@name='Text98857063']").getStringValue()!"" 
40							site = site?replace("\n\t\t", "") 
41							site = site?replace("\n\t", "")		 
42							instagram = "" 
43							facebook = "" 
44							linkedin = articleXml.selectSingleNode("dynamic-element[@name='Text63396047']").getStringValue()!"" 
45							linkedin = linkedin?replace("\n\t\t", "") 
46							linkedin = linkedin?replace("\n\t", "")		 
47							orgId = journalArticle.getExpandoBridge().getAttribute("organization") 
48							nome = entry.getName()!"" 
49
50			 
51								<div class="bioec_orgs-list-item"> 
52									<div class="bioec_orgs-list-item-l2"> 
53										<div class="bioec_orgs-list-item-l2-top"> 
54                      <div> 
55                        <h3 class="mb-3">${nome}</h3> 
56                      </div> 
57                      <div class="bioec_orgs-list-item-social-container"> 
58														<#if site != ""> 
59															<a href="${site}" target="_blank" rel="noopener noreferrer"> 
60																	<i class="fa-solid fa-laptop"></i> 
61															</a> 
62														</#if> 
63														<#if instagram != ""> 
64															<a href="${instagram}" target="_blank" rel="noopener noreferrer"> 
65																	<i class="fa-brands fa-instagram"></i> 
66															</a> 
67														</#if> 
68														<#if linkedin != ""> 
69															<a href="${linkedin}" target="_blank" rel="noopener noreferrer"> 
70																	<i class="fa-brands fa-linkedin-in"></i> 
71															</a> 
72														</#if> 
73														<#if facebook != ""> 
74															<a href="${facebook}" target="_blank" rel="noopener noreferrer"> 
75																	<i class="fa-brands fa-facebook"></i> 
76															</a> 
77														</#if> 
78                    </div> 
79                 	</div> 
80                     
81                    <div class="row"> 
82                        <div class="col-6"> 
83                            <h3>Tipo de Organização</h3> 
84                            <p>${tipo}</p> 
85                        </div> 
86                        <div class="col-6"> 
87                            <h3>Localização</h3> 
88                            <p>${localizacao}</p> 
89                        </div> 
90                    </div> 
91                     
92										<div class="terceiralinha"> 
93											<div class="setores"> 
94													<h3>Setores de Atuação</h3> 
95													<p> 
96													 
97													<#list setores as setor> 
98														${setor.getStringValue()?trim + ";"} 
99													</#list> 
100														 
101													</p> 
102											</div> 
103											<#if selo != "" && selo != "null" && selo != "false"> 
104												<div class="seloEmbrapii"> 
105													<img width="160px" src="" alt=""> 
106												</div> 
107											</#if> 
108										</div> 
109                     
110                </div> 
111                 
112                <div class="bioec_orgs-list-item-l3"> 
113                    <a href="${url}">Ver mais detalhes</a> 
114                </div> 
115            </div> 
116					</#if> 
117				</#if> 
118			</#list> 
119	<#else>		 
120		<div class="bioec_orgs-list-header-empty"> 
121			Nenhuma organização foi cadastrada neste perfil ainda 
122		</div> 
123	</#if> 
124</div> 
125 
126<style> 
127.bioec_orgs-list-header-empty { 
128	color: #5B5C61; 
129	text-align: center; 
130	padding: 40px 20px; 
131	font-weight: 700; 
132	font-size: 16px; 
133
134 
135.bioec_orgs-list-item { 
136	border: 1px solid #BEBEBE; 
137	margin-bottom: 24px; 
138
139 
140.bioec_orgs-list-item h3 { 
141	color:  #5B5C61; 
142	font-size: 20px; 
143	line-height: 30px; 
144	font-weight: 700; 
145	margin: 0; 
146
147 
148.terceiralinha { 
149	display: flex; 
150
151 
152.terceiralinha .setores { 
153	flex: 1; 
154
155 
156@media (max-width: 768px){ 
157	.terceiralinha { 
158		flex-direction: column; 
159
160
161 
162.bioec_orgs-list-item p { 
163	color: #5B5C61; 
164
165 
166.bioec_orgs-list-item-l1{ 
167	background: #E8ECEF; 
168	padding: 12px 24px; 
169	display: flex; 
170	justify-content: flex-start; 
171	 
172
173 
174.bioec_orgs-list-item-l1 h4 { 
175	font-weight: 400; 
176	font-size: 25px; 
177	color: #5B5C61; 
178	margin: 0; 
179
180 
181.bioec_orgs-list-item-l2 { 
182	padding: 24px; 
183	gap: 24px; 
184
185 
186.bioec_orgs-list-item-l2-top { 
187	display: flex; 
188	justify-content: space-between; 
189
190 
191 
192.bioec_orgs-list-item-l3 { 
193	background: #E8ECEF; 
194	color: #5B5C61; 
195	padding: 8px 0px; 
196	display: flex; 
197	justify-content: center; 
198
199 
200.bioec_orgs-list-item-l3 a { 
201	color: #5B5C61; 
202	font-weight: 700; 
203	font-size: 16px; 
204	line-height: 150%; 
205	text-decoration: underline; 
206	text-underline-offset: 3px; 
207	transition: 250ms; 
208	margin: 0 12px; 
209
210 
211.bioec_orgs-list-item-social-container a { 
212	color: #5B5C61; 
213	text-decoration: none; 
214	margin-left: 20px; 
215	font-size: 20px; 
216
217 
218.bioec_orgs-list-header-empty { 
219	color: #5B5C61; 
220	text-align: center; 
221	padding: 40px 20px; 
222	font-weight: 700; 
223	font-size: 16px; 
224	border: 1px solid #BEBEBE; 
225
226 
227</style> 
Demandas drop zone
Ofertas drop zone
Publicações drop zone
  • Sobre
  • Organizações
  • Demandas
  • Ofertas
  • <#if themeDisplay.getURLCurrent()?contains("en")> Publication <#else> Publicações