UNICAP divulga o resultado final da seleção para professores conteudistas EaD Edital 2020/02 - Unicap
Título Notícias EAD
Notícias EAD
Barra de busca
Guilherme Leão
Publicado 28/10/20
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> selectedOptions?first [in template "22092#22119#82296" at line 47, column 104]
----
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 selectedKey = selectedOptions... [in template "22092#22119#82296" at line 47, column 81]
----
1<style>
2 .noticia-custom .component-title, .noticia-custom .asset-avatar, .noticia-custom .user-info, .noticia-custom .asset-details .asset-ratings, .noticia-custom .asset-details .taglib-social-bookmarks {
3 display: none;
4 }
5 .asset-full-content {
6 opacity: 0;
7 visibility: hidden;
8 }
9 .noticia-custom .lfr-asset-anchor {
10 position: absolute;
11 top: 0;
12 }
13</style>
14<#setting url_escaping_charset="UTF-8">
15<#assign
16 groupId = themeDisplay.getLayout().getGroupId()
17 journalArticleId = .vars['reserved-article-id'].data
18 journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
19 Article = journalArticleLocalService.getArticle(groupId, journalArticleId)
20 classPK = Article.getResourcePrimKey()?eval
21 currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()
22
23 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
24 entry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", classPK)
25/>
26
27<div class="blog-internal mb-7 container">
28 <div class="blog-padding">
29 <div class="title-relative text-dark px-0">
30 <h1>${.vars['reserved-article-title'].data}</h1>
31 </div>
32 <div class="d-flex justify-content-between align-items-center py-4 px-0">
33
34 <div class="author-blog">
35 <#-- INICIO DECLARAÇÕES VARIAVEIS PARA ULTIMO EDITOR -->
36 <#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") />
37 <#assign groupId = groupId?long />
38 <#assign articleId = .vars["reserved-article-id"].data />
39 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
40 <#assign article = journalArticleLocalService.getLatestArticle(groupId, articleId) />
41 <#assign modifierUser = userLocalService.getUser(article.getStatusByUserId()) />
42 <#-- FIM DECLARAÇÕES -->
43
44
45 <#assign selectedOptions = selectPublished.getOptions() />
46 <#assign optionsMap = selectPublished.getOptionsMap() />
47 <#assign selectedKey = selectedOptions?first />
48
49 <#-- <#assign publicadoPor = .vars['reserved-article-author-name'].data /> nome do criador do conteúdo -->
50
51 <#assign publicadoPor = modifierUser.getFullName() />
52
53 <#if selectedKey?has_content>
54 <@liferay_ui["message"] key="published"/> <span class="text-lowercase"><@liferay_ui["message"] key="per"/></span>: ${optionsMap[selectedKey]!""}
55 <#else>
56 <@liferay_ui["message"] key="published"/> <span class="text-lowercase"><@liferay_ui["message"] key="per"/></span>: ${publicadoPor}
57 </#if>
58 </div>
59 <div class="date-blog">
60 <span class="day-date">${dateUtil.getDate(Article.getDisplayDate(), "dd", locale)}</span>
61 <span class="year-date">${dateUtil.getDate(Article.getDisplayDate(), "MMM yyyy", locale)}</span>
62 </div>
63 </div>
64 <div class="content-social-blog p-0 m-0">
65
66 <div class="content-view">
67 <span class="text-capitalize"><@liferay_ui["message"] key="views"/>: </span>
68 <div class="views">
69 <span class="icon-eye-open"></span>
70 <span class="number-views">${entry.getViewCount()}</span>
71 </div>
72 </div>
73
74 <#-- <div class="content-share">
75 <span class="text-capitalize"><@liferay_ui["message"] key="share"/>:</span>
76 <div class="click-share">
77 <@liferay_social_bookmarks["bookmarks"]
78 className="com.liferay.journal.model.JournalArticle"
79 classPK=journalArticleId?eval
80 displayStyle="inline"
81 target="_blank"
82 title=.vars['reserved-article-title'].data
83 url=currentURL
84 />
85 </div>
86 </div> -->
87
88 <div class="content-share">
89 <span class="text-capitalize"><@liferay_ui["message"] key="share"/>:</span>
90 <div class="click-share">
91
92 <#assign shareTitle = .vars['reserved-article-title'].data?url />
93 <#assign shareURL = currentURL?url />
94
95 <a href= "https://www.facebook.com/sharer/sharer.php?u=${shareURL}"
96
97 target="_blank" rel="noopener noreferrer" class="share-btn share-facebook" aria-label="Facebook" style="text-decoration: none;">
98 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
99 <path d="M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 4.84 3.44 8.87 8 9.8V15H8v-3h2V9.5C10 7.57 11.57 6 13.5 6H16v3h-2c-.55 0-1 .45-1 1v2h3v3h-3v6.95c5.05-.5 9-4.76 9-9.95z"/>
100 </svg>
101 </a>
102
103 <a href="https://twitter.com/intent/tweet?url=${shareURL}&text=${shareTitle}"
104 target="_blank" rel="noopener noreferrer" class="share-btn share-x" aria-label="X (Twitter)" style="text-decoration: none;">
105 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
106 <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.911-5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
107 </svg>
108 </a>
109
110 <a href="https://www.linkedin.com/shareArticle?mini=true&url=${shareURL}&title=${shareTitle}"
111 target="_blank" rel="noopener noreferrer" class="share-btn share-linkedin" aria-label="LinkedIn" style="text-decoration: none;">
112 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
113 <path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"/>
114 </svg>
115 </a>
116
117 <a href="https://wa.me/?text=${shareTitle}%20${shareURL}"
118 target="_blank" rel="noopener noreferrer" class="share-btn share-whatsapp" aria-label="WhatsApp" style="text-decoration: none;">
119 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
120 <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z"/>
121 </svg>
122 </a>
123
124 </div>
125</div>
126
127 </div>
128 </div>
129
130 <div class="container-content blog-padding">
131 <div class="banner-noticia">
132 <#if CoverImage.getData()?? && CoverImage.getData() != "">
133 <img class="embed-responsive" alt="${CoverImage.getAttribute("alt")}" data-fileentryid="${CoverImage.getAttribute("fileEntryId")}" src="${CoverImage.getData()}" />
134 </#if>
135
136 <@liferay_util["html-top"]><meta name="twitter:title" content="${.vars['reserved-article-title'].data} "></@>
137 <@liferay_util["html-top"]><meta name="twitter:description" content="<#outputformat "HTML">${htmlUtil.stripHtml(Content.getData())}</#outputformat>"></@>
138 <@liferay_util["html-top"]><meta name="twitter:image" content="${themeDisplay.getURLPortal()}${CoverImage.getData()}"></@>
139 <@liferay_util["html-top"]><meta name="twitter:card" content="summary_large_image"></@>
140 <@liferay_util["html-top"]><meta property="og:title" content="${.vars['reserved-article-title'].data}"></@>
141 <@liferay_util["html-top"]><meta property="og:description" content="<#outputformat "plainText">${htmlUtil.stripHtml(Content.getData())}</#outputformat>"></@>
142 <@liferay_util["html-top"]><meta property="og:image" content="${themeDisplay.getURLPortal()}${CoverImage.getData()}"></@>
143 <@liferay_util["html-top"]><meta property="og:url" content="${themeDisplay.getURLPortal()}${themeDisplay.getURLCurrent()}"></@>
144 </div>
145 <div class="content-blog">
146 ${Content.getData()}
147 </div>
148 </div>
149
150 <#if AssociarPagina?? && AssociarPagina.getSiblings()?has_content>
151 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
152 <#if AssociarPagina.getData()?? && AssociarPagina.getData() != "">
153 <div class="brc-noticias hide">
154 <#list AssociarPagina.getSiblings() as cur_AssociarPagina>
155 <#if cur_AssociarPagina.getData()?eval.layoutId??>
156 <#assign layout = layoutService.getLayout(themeDisplay.getScopeGroupId(),false,cur_AssociarPagina.getData()?eval.layoutId?number) />
157 <#assign pageTitleCustom = layout.getName(locale) />
158 <li class="breadcrum-custom-news">
159 <a class="text-light" title="${pageTitleCustom}" href="${cur_AssociarPagina.getFriendlyUrl()}">
160 ${pageTitleCustom}
161 </a>
162 </li>
163 </#if>
164 </#list>
165 </div>
166 </#if>
167 </#if>
168</div>
169
170<style>
171 .views .number-views {
172 opacity: 1;
173 align-items: center;
174 margin-top: 1rem;
175 padding: 0;
176 background-color: initial !important;
177 color: #72848c;
178 font-size: 2rem;
179 }
180 .views .icon-eye-open {
181 opacity: 1;
182 align-items: center;
183 margin-top: 1rem;
184 padding: 0;
185 background-color: initial !important;
186 color: #9c001c;
187 font-size: 2rem;
188 }
189 a.lfr-portal-tooltip.btn.btn-monospaced.btn-outline-borderless.btn-sm.btn-outline-secondary {
190 display: flex;
191 }
192</style>
193
194<script>
195 $(function(){
196 var container = $(".blog-internal").closest('.asset-full-content');
197 container.addClass('noticia-custom');
198
199 var breadcrumb = $('ul.breadcrumb');
200 var brcCustom = $('.brc-noticias');
201 if(breadcrumb.length && brcCustom.length){
202 breadcrumb.find('li:first-child, li:last-child').addClass('item-brc');
203 breadcrumb.find('li:not(.item-brc)').remove();
204 breadcrumb.find('li:last-child').before(brcCustom.html());
205 }
206
207 $('.asset-full-content').css({"opacity":"1","visibility":"visible"});
208 $('html, body').animate({
209 scrollTop: $(".noticia-custom .asset-anchor").offset().top
210 }, 500);
211 setTimeout(function(){
212 $('.content-share .inline-item svg').attr('viewBox', '0 0 512 512')
213 }, 5000)
214 })
215</script>
Busca
Título Notícias Acontece na Unicap
Acontece na Unicap
Publicador de Conteúdos e Mídias
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> liferay_ui["ratings"] [in template "22092#22119#475677" at line 79, column 55]
----
Tip: It's the final [] step 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: @liferay_ui["ratings"] className="com... [in template "22092#22119#475677" at line 79, column 53]
----
1<#if !entries?has_content>
2 <#if !themeDisplay.isSignedIn()>
3 ${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)}
4 </#if>
5
6 <div class="alert alert-info">
7 <@liferay_ui["message"] key="there-are-no-results" />
8 </div>
9 </#if>
10 <#if entries?has_content>
11 <div class="row row-card-blog">
12 <#assign countItem = 0/>
13 <#list entries as entry>
14 <#assign
15 assetRenderer = entry.getAssetRenderer()
16 />
17 <#if assetRenderer.getClassName()=="com.liferay.journal.model.JournalArticle">
18 <#setting url_escaping_charset="UTF-8">
19 <#assign
20 article = assetRenderer.getArticle()
21 docXml = saxReaderUtil.read(article.getContent())
22 contentNoticia = docXml.valueOf("//dynamic-element[@name='Content']/dynamic-content/text()")
23 image = docXml.valueOf("//dynamic-element[@name='CoverImage']/dynamic-content/text()")
24 imgJson = jsonFactoryUtil.createJSONObject(image)
25 urlImage = "/documents/"+ imgJson.groupId +"/" +imgJson.fileEntryId +"/"+ imgJson.name?url +"/"+imgJson.uuid
26 />
27 <#if urlImage??>
28 <#assign cardImage = true />
29 <#elseif article.getSmallImageURL()?? && article.getSmallImageURL() != "">
30 <#assign cardImage = true />
31 <#assign urlImage = article.getSmallImageURL()/>
32 <#else>
33 <#assign cardImage = false />
34 </#if>
35
36 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) />
37 <#if assetLinkBehavior != "showFullContent" && assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL)??>
38 <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL) />
39 </#if>
40 <div class="col-12 col-md-6 change-class hide">
41 <div class="card card-custom-blog d-flex flex-column" >
42 <#if cardImage>
43 <div class="card-img-overflow">
44 <img class="card-img-top" src="${urlImage}" alt="${imgJson.name}"/>
45 </div>
46 </#if>
47
48 <div class="card-body d-flex flex-column">
49 <h3 class="text-dark">${stringUtil.shorten(htmlUtil.stripHtml(entry.getTitle(locale)), 100)}</h3>
50 <div class="d-none d-xl-block card-text text-dark">
51 <#if validator.isNotNull(entry.getDescription(locale))>
52 <#assign content = entry.getDescription(locale) />
53 <#else>
54 <#assign content = contentNoticia />
55 </#if>
56 <#if cardImage>
57 <p>${stringUtil.shorten(htmlUtil.stripHtml(content), 160)}</p>
58 <#else>
59 <p>${stringUtil.shorten(htmlUtil.stripHtml(content), 400)}</p>
60 </#if>
61 </div>
62 <div class="d-block d-xl-none card-text text-dark">
63 <#if validator.isNotNull(entry.getDescription(locale))>
64 <#assign content = entry.getDescription(locale) />
65 <#else>
66 <#assign content = contentNoticia />
67 </#if>
68 <#if cardImage>
69 <p>${stringUtil.shorten(htmlUtil.stripHtml(content), 120)}</p>
70 <#else>
71 <p>${stringUtil.shorten(htmlUtil.stripHtml(content), 400)}</p>
72 </#if>
73 </div>
74 <div class="footer-card-custom d-flex justify-content-between align-items-center mt-auto">
75 <div class="container-left">
76 <div class="likes-blog align-items-center comments-blog d-inline-flex">
77 <#if getterUtil.getBoolean(enableRatings)>
78 <div>
79 <@liferay_ui["ratings"]
80 className="com.liferay.journal.model.JournalArticle"
81 classPK=entry.getClassPK()
82 type="like"
83 />
84 </div>
85 </#if>
86 </div>
87 <div class="comments-blog align-items-center comments-blog d-inline-flex">
88 <#if getterUtil.getBoolean(enableComments)>
89 <div>
90 <span class="inline-item inline-item-before">
91 <@clay["icon"] symbol="comments" />
92 </span>
93 <span class="count-comment" data-groupid="${entry.getGroupId()}" data-classname="${entry.getClassName()}" data-classpk="${entry.getClassPK()}">0</span>
94 </div>
95 </#if>
96 </div>
97 </div>
98 <div class="container-link-ler-mais align-items-center comments-blog d-inline-flex">
99 <a class="stretched-link text-primary text-uppercase" href="${viewURL}"><@liferay_ui["message"] key="read-more"/><i style="margin-left: 5px;" class="icon-arrow-right"></i></a>
100 </div>
101 </div>
102 </div>
103
104 </div>
105 </div>
106 <#else>
107 Erro na configuração do Publicador de Conteúdo
108 <script>
109 if(!window.displayAlertCards) {
110 alert("Por gentileza, configurar o publicador de conteúdos 'Notícias' para receber apenas conteúdos do tipo Notícia")
111 }
112 window.displayAlertCards = true;
113 </script>
114 </#if>
115 </#list>
116 </div>
117 </#if>
118 <script type="text/javascript">
119 $(function(){
120 /* var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
121 if(iOS && innerWidth < 768){
122 $('.card-custom-blog h3').css({
123 'overflow': 'inherit',
124 'min-height': '45px',
125 'overflow': 'hidden',
126 'margin-bottom': '0'
127 })
128
129 $('.card-custom-blog .card-img-overflow').css({
130 'height': '300px'
131 })
132
133 $(window).resize(function(){
134 if(innerWidth < 500){
135 $('.card-custom-blog').addClass('card-hack-iphone')
136 $('.card-custom-blog').removeClass('card-hack-iphone-b')
137 }else{
138 $('.card-custom-blog').addClass('card-hack-iphone-b')
139 $('.card-custom-blog').removeClass('card-hack-iphone')
140 }
141 })
142 } */
143
144
145 var widthContainer = $('.row-card-blog').closest('section').width();
146 var cards = $(".change-class");
147 if(widthContainer > 850) {
148 $(".change-class").addClass('col-lg-3');
149 }
150 cards.removeClass('hide');
151
152 $('.count-comment').each(function(i, e){
153 var classPk = $(this).data('classpk');
154 var className = $(this).data('classname');
155 var groupid = $(this).data('groupid');
156 if(className && classPk){
157 Liferay.Service(
158 '/comment.commentmanagerjsonws/get-comments-count',
159 {
160 groupId: groupid,
161 className: className,
162 classPK: classPk
163 },
164 function(countComment) {
165 if(!isNaN(countComment)) {
166 $(e).text(countComment);
167 }
168 }
169 );
170 }
171 })
172 })
173 </script>
174 <style>
175 @media (min-width: 767.99px) {
176 .card-custom-blog .card-title {
177 max-height: 95px;
178 overflow: hidden;
179 }
180 }
181 .row-card-blog .change-class {
182 margin-bottom: 1.625rem;
183 }
184 .card-custom-blog.card:hover {
185 opacity: 0.90;
186 }
187 .card-custom-blog h3 {
188 text-overflow: ellipsis;
189 width: 100%;
190 -webkit-line-clamp: 2;
191 display: -webkit-box;
192 -webkit-box-orient: vertical;
193 overflow: hidden;
194 height: auto;
195 }
196
197 .card-custom-blog .card-text {
198 min-height: auto;
199 }
200 .card-custom-blog .card-body {
201 border-top: 1rem solid #690013;
202 }
203 .card-custom-blog .card-img-overflow {
204 max-height: 44.445%;
205 overflow: hidden;
206 }
207 .card-custom-blog .rating-thumb-down {
208 display: none;
209 }
210 .card-custom-blog .rating-thumb-up {
211 opacity: 1;
212 font-size: 1rem;
213 padding: 0;
214 }
215 .card-custom-blog .rating-thumb-up svg{
216 display: none;
217 }
218 .card-custom-blog .rating-thumb-up span.inline-item:first-child{
219 font-family: 'fontawesome-alloy';
220 speak: none;
221 font-style: normal;
222 font-weight: normal;
223 font-variant: normal;
224 text-transform: none;
225 line-height: 1;
226 -webkit-font-smoothing: antialiased;
227 }
228 .footer-card-custom {
229 padding: 0.4375rem 0;
230 }
231 .footer-card-custom *{
232 color: #690013!important;
233 font-weight: 500!important;
234 }
235 .card-custom-blog .rating-thumb-up span.inline-item:first-child:before{
236 content: "\f004";
237 }
238 @media (min-width: 1440.99px) {
239 .card-custom-blog .taglib-ratings.like {
240 padding-right: 3rem;
241 }
242 .card-custom-blog {
243 height: 450px !important;
244 }
245 }
246 @media (max-width: 1440.98px) {
247 .card-custom-blog {
248 height: 340px !important;
249 }
250 .card-custom-blog .card-text p{
251 display: -webkit-box;
252 -webkit-line-clamp: 3;
253 -webkit-box-orient: vertical;
254 overflow: hidden;
255 }
256 }
257 @media (max-width: 767.98px) {
258 .card-custom-blog .card-img-overflow {
259 max-height: none !important;
260 }
261 .card-custom-blog {
262 height: auto !important;
263 }
264 }
265 .card-body {
266 padding-bottom: 0 !important;
267 min-height: auto !important;
268 }
269 /* .card-hack-iphone{ min-height: 400px !important; max-height: 450px;}
270 .card-hack-iphone-b{ min-height: 1000px !important; max-height: 1050px;} */
271
272 </style>





