Publicador de Conteúdos e Mídias

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> httpServletRequest.getParameter("tag")  [in template "22424485586212#55326#141578" at line 148, column 17]

----
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 tag = httpServletRequest.getP...  [in template "22424485586212#55326#141578" at line 148, column 1]
----
1<#-- file path: klabindw/assets/video-gallery/adts/video-gallery.ftl  --> 
2 
3<style> 
4.klb-card__imagem-wrapper{ 
5    position: relative; 
6    z-index: 1; 
7
8.klb-blog-section-tag { 
9  display: flex; 
10  flex-direction: column; 
11
12 
13.klb-card .klb-card__imagem{ 
14  z-index: unset; 
15
16 
17.klb-blog-section-tag__top-detail { 
18  height: 5px; 
19  width: 100%; 
20  background: linear-gradient( 
21    180deg, 
22    rgba(0, 0, 0, 0.16) 0%, 
23    rgba(0, 0, 0, 0) 100% 
24  ); 
25  opacity: 0.5; 
26
27 
28.klb-blog-section-tag__container { 
29  padding: 0 6vw; 
30
31 
32.klb-blog-section-tag__wrapper { 
33  padding: 40px 0 60px; 
34  max-width: 1330px; 
35  margin: auto; 
36  display: flex; 
37  flex-direction: column; 
38
39 
40.klb-blog-section-tag__title { 
41  font-size: 60px; 
42  line-height: 110%; 
43  text-align: center; 
44  color: #231f20; 
45  margin-bottom: 40px; 
46
47 
48.klb-blog-section-tag__description { 
49  font-family: "Raleway"; 
50  font-size: 18px; 
51  line-height: 160%; 
52  color: #231f20; 
53  max-width: 900px; 
54  margin: auto; 
55  margin-bottom: 40px; 
56
57 
58.klb-blog-section-tag__content { 
59  display: flex; 
60  flex-wrap: wrap; 
61  gap: 20px; 
62
63 
64.klb-blog-section-tag a { 
65  text-decoration: none; 
66
67 
68.klb-blog-section-tag__item:hover .klb-bigcard__title, 
69.klb-blog-section-tag__item:hover .klb-card__title, 
70.klb-blog-section-tag__item:hover .klb-bigcard__description, 
71.klb-blog-section-tag__item:hover .klb-card__description { 
72  color: #8B9F2F; 
73
74 
75.klb-blog-section-tag__item { 
76  flex: 1 1 23%; 
77
78 
79.lfr-pagination ul { 
80  display: flex; 
81  justify-content: center; 
82  gap: 20px; 
83
84 
85.lfr-pagination li.disabled a { 
86  opacity: 0.5; 
87
88 
89.lfr-pagination li a { 
90  border: 1px solid #00693A; 
91  border-radius: 20px; 
92  font-family: 'Raleway'; 
93  font-style: normal; 
94  font-weight: 700; 
95  font-size: 12px; 
96  text-align: center; 
97  text-transform: uppercase; 
98  color: #00693A; 
99  background: transparent; 
100  padding: 8px 16px; 
101  min-width: 110px; 
102  transition: 0.3s; 
103
104 
105.lfr-pagination li:not(.disabled):hover a {  
106  background: #00693A; 
107  color: #F4F4F4; 
108
109 
110@media (max-width: 1024px) { 
111  .klb-blog-section-tag__item { 
112    flex: 1 1 24%; 
113
114
115 
116@media (max-width: 900px) { 
117  .klb-blog-section-tag__item { 
118    flex: 1 1 40%; 
119
120 
121  .klb-blog-section-tag__title { 
122    font-size: 30px; 
123    line-height: 110%; 
124
125 
126  .klb-blog-section-tag__description { 
127    font-size: 16px; 
128    line-height: 160%; 
129
130
131 
132@media (max-width: 660px) { 
133  .klb-blog-section-tag__item { 
134    flex: 0 0 100%; 
135
136
137 
138</style> 
139 
140<#assign dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 
141<#assign dlUtil = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper")> 
142<#assign vocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") /> 
143<#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
144 
145<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() /> 
146<#assign httpServletRequest = serviceContext.getRequest()/> 
147 
148<#assign tag  = httpServletRequest.getParameter("tag")?string /> 
149 
150 
151<div class="klb-blog-section-tag"> 
152    <span class="klb-blog-section-tag__top-detail"></span> 
153    <div class="klb-blog-section-tag__container"> 
154        <div class="klb-blog-section-tag__wrapper"> 
155            <div class="klb-blog-section-tag__title"></div> 
156            <div class="klb-blog-section-tag__content"></div> 
157        </div> 
158    </div> 
159</div> 
160 
161<script> 
162    Liferay.on("allPortletsReady", function () { 
163 
164 
165        var title = '${tag?replace("%20", " ")}'; 
166        var decodeTitle = decodeURI(title); 
167        var capitalizeTitle = decodeTitle.charAt(0).toUpperCase() + decodeTitle.slice(1); 
168 
169        $(".klb-blog-section-tag__title").text(capitalizeTitle) 
170 
171        $("#klb-blog-footer").addClass("klb-blog-footer--secondary"); 
172        var klabinSustentabilidadeData = [ 
173            <#if entries?has_content> 
174                <#list entries as entry> 
175                 
176 
177                    <#list entry.tagNames as tagPost> 
178                     
179                         <#if tagPost==tag> 
180                      
181                            <#assign assetRenderer = entry.getAssetRenderer() /> 
182                            <#assign article = assetRenderer.getArticle() /> 
183                     
184                            <#assign document = saxReaderUtil.read(article.getContent()) /> 
185                            <#assign rootElement = document.getRootElement() /> 
186                     
187                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='banner']")> 
188                            <#assign ImagemDeDestaque = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim> 
189                     
190                            <#assign urlImage = ""> 
191                            <#if ImagemDeDestaque?? && ImagemDeDestaque!=""> 
192                                <#assign 
193                                    fileJson = jsonFactoryUtil.createJSONObject(ImagemDeDestaque) 
194                                    fileEntryId =  getterUtil.getInteger(fileJson.get('fileEntryId')) 
195                                /> 
196                                <#assign 
197                                    fileEntry = dlAppService.getFileEntry(fileEntryId) 
198                                    urlImage = dlUtil.getDownloadURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, null)?keep_before("?") 
199                                /> 
200                            </#if> 
201                             
202                            <#assign tituloXPath = saxReaderUtil.createXPath("dynamic-element[@field-reference='titulo']") /> 
203                            <#assign titulo = tituloXPath.selectSingleNode(rootElement).getStringValue()?trim /> 
204                     
205                            <#assign tempoDeLeituraXPath = saxReaderUtil.createXPath("dynamic-element[@field-reference='TempoDeLeitura']") /> 
206                            <#assign TempoDeLeitura = tempoDeLeituraXPath.selectSingleNode(rootElement).getStringValue()?trim /> 
207                             
208                            <#assign resumoXPath = saxReaderUtil.createXPath("dynamic-element[@field-reference='resumo']") /> 
209                            <#assign resumo = resumoXPath.selectSingleNode(rootElement).getStringValue()?trim /> 
210                             
211                            <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) /> 
212                             
213                            <#if assetLinkBehavior != "showFullContent"> 
214                                <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL) /> 
215                            </#if>      
216                             
217                            <#if entry.getCategories()??> 
218                                <#list entry.getCategories() as category> 
219                                    <#assign nome_categoria = ""> 
220                                    <#assign vocabulary = vocabularyLocalService.getVocabulary(category.getVocabularyId()) /> 
221                                    <#if vocabulary.getTitle(locale) == "Temas dos posts"> 
222                                          <#assign nome_categoria += category.getName() > 
223                                    </#if> 
224                                </#list> 
225                            </#if> 
226 
227
228                                image: '${urlImage}', 
229                                title: '${titulo}', 
230                                time: '${TempoDeLeitura}', 
231                                description: '${resumo}', 
232                                category : '${nome_categoria}', 
233                                link: '${viewURL}' 
234                            }, 
235                        </#if> 
236                    </#list> 
237 
238                </#list> 
239            </#if> 
240        ]; 
241 
242var _categories = { 
243      'TECNOLOGIA E INOVAÇÃO': 'https://blog.klabin.com.br/tecnologia-e-inovacao', 
244      'E-COMMERCE': 'https://blog.klabin.com.br/e-commerce', 
245      'SUSTENTABILIDADE': 'https://blog.klabin.com.br/sustentabilidade', 
246      'PRODUTOS': 'https://blog.klabin.com.br/produtos', 
247      'NEGÓCIOS': 'https://blog.klabin.com.br/negocios' 
248
249        function renderTemplate() { 
250            var html = klabinSustentabilidadeData.reduce((acc, item, index) => { 
251                acc += ` 
252                    <div class="klb-blog-section-tag__item klb-card"> 
253                        <img alt="Imagem do card" class="klb-card__imagem" src="`+item.image+`"> 
254                        <a href="`+item.link+`" aria-label="`+item.title+`"><div class="klb-card__imagem-wrapper" ></div></a> 
255                        <a class="klb-card__category href="`+_categories[item.category.toUpperCase()]+`"" aria-label="`+item.title+`">`+item.category+`</a> 
256                        <svg class="klb-card__detail" width="52" height="26" viewBox="0 0 52 26" fill="#D3DF78" xmlns="http://www.w3.org/2000/svg"> 
257                            <path d="M24.8323 0.621826L0.45752 25.2281H27.6022L51.977 0.621826H24.8323Z"/> 
258                        </svg> 
259                        <a href="`+item.link+`" aria-label="`+item.title+`"><div class="klb-card__title">`+item.title+`</div></a>     
260                        <div class="klb-card__legend"> 
261                            <div class="klb-card__time">tempo de leitura: `+item.time+`</div> 
262
263                            <div class="klb-card__share" data-link="`+item.link+`" data-title="`+item.title+`">compartilhe</div> 
264                            <svg data-link="`+item.link+`" data-title="`+item.title+`" width="10" height="11" viewBox="0 0 10 11" fill="#231F20" xmlns="http://www.w3.org/2000/svg"> 
265                                <path d="M2.40089 7.85679C3.02304 7.8569 3.62053 7.62108 4.06652 7.19932L5.78323 8.18161C5.68523 8.8215 5.90811 9.46831 6.38298 9.92153C6.85785 10.3747 7.52704 10.5793 8.18318 10.472C8.83922 10.3646 9.40282 9.95828 9.69907 9.379C9.9952 8.79972 9.9883 8.11755 9.68023 7.54401C9.37228 6.97059 8.80054 6.57519 8.14236 6.48054C7.48419 6.38589 6.81926 6.60349 6.35375 7.06568L4.71544 6.13305C4.8276 5.73895 4.8276 5.32262 4.71544 4.92852L6.35375 3.99589C6.82693 4.47195 7.50617 4.69824 8.18004 4.60423C8.85391 4.51023 9.4405 4.10747 9.75692 3.52133C10.0734 2.93523 10.0813 2.23701 9.77822 1.64427C9.47518 1.05156 8.89784 0.636314 8.22631 0.527874C7.55467 0.419456 6.87041 0.63109 6.38663 1.09686C5.90286 1.56262 5.67842 2.22583 5.78309 2.87991L4.06649 3.85134C3.49363 3.31142 2.68216 3.08385 1.90168 3.24431C1.1212 3.40476 0.473874 3.93222 0.17483 4.65136C-0.124215 5.3705 -0.0357859 6.18722 0.410643 6.83015C0.857083 7.47296 1.60312 7.85787 2.40089 7.85679ZM7.83547 7.70131C8.04743 7.70131 8.2508 7.78328 8.40065 7.92899C8.55061 8.07471 8.63479 8.27235 8.63479 8.47846C8.63479 8.68457 8.55061 8.88233 8.40065 9.02804C8.2508 9.17376 8.04754 9.25562 7.83558 9.25562C7.62362 9.25562 7.42037 9.17376 7.2704 9.02804C7.12055 8.88233 7.03637 8.68457 7.03637 8.47846C7.03637 8.27236 7.12055 8.07471 7.2704 7.92899C7.42037 7.78328 7.62351 7.70131 7.83547 7.70131ZM7.83547 1.795C8.04743 1.795 8.2508 1.87696 8.40065 2.02267C8.55061 2.16839 8.63479 2.36615 8.63479 2.57226C8.63479 2.77836 8.55061 2.97601 8.40065 3.12173C8.2508 3.26744 8.04754 3.34941 7.83558 3.34941C7.62362 3.34941 7.42037 3.26744 7.2704 3.12173C7.12055 2.97601 7.03637 2.77837 7.03637 2.57226C7.03637 2.36615 7.12055 2.16839 7.2704 2.02267C7.42037 1.87696 7.62351 1.795 7.83547 1.795ZM2.40089 4.43738C2.69768 4.43738 2.98223 4.55198 3.19208 4.75601C3.40191 4.96005 3.51986 5.23673 3.51986 5.52536C3.51986 5.81398 3.4019 6.09065 3.19208 6.2947C2.98224 6.49875 2.69771 6.61334 2.40089 6.61334C2.10419 6.61334 1.81956 6.49874 1.60971 6.2947C1.39988 6.09066 1.28204 5.81398 1.28204 5.52536C1.28204 5.23673 1.39989 4.96007 1.60971 4.75601C1.81955 4.55196 2.10419 4.43738 2.40089 4.43738Z"/> 
266                                <path d="M2.40089 4.43738C2.69768 4.43738 2.98223 4.55198 3.19208 4.75601C3.40191 4.96005 3.51986 5.23673 3.51986 5.52536C3.51986 5.81398 3.4019 6.09065 3.19208 6.2947C2.98224 6.49875 2.69771 6.61334 2.40089 6.61334C2.10419 6.61334 1.81956 6.49874 1.60971 6.2947C1.39988 6.09066 1.28204 5.81398 1.28204 5.52536C1.28204 5.23673 1.39989 4.96007 1.60971 4.75601C1.81955 4.55196 2.10419 4.43738 2.40089 4.43738Z"/> 
267                                <path d="M7.83547 1.795C8.04743 1.795 8.2508 1.87696 8.40065 2.02267C8.55061 2.16839 8.63479 2.36615 8.63479 2.57226C8.63479 2.77836 8.55061 2.97601 8.40065 3.12173C8.2508 3.26744 8.04754 3.34941 7.83558 3.34941C7.62362 3.34941 7.42037 3.26744 7.2704 3.12173C7.12055 2.97601 7.03637 2.77837 7.03637 2.57226C7.03637 2.36615 7.12055 2.16839 7.2704 2.02267C7.42037 1.87696 7.62351 1.795 7.83547 1.795Z"/> 
268                                <path d="M7.83547 7.70131C8.04743 7.70131 8.2508 7.78328 8.40065 7.92899C8.55061 8.07471 8.63479 8.27235 8.63479 8.47846C8.63479 8.68457 8.55061 8.88233 8.40065 9.02804C8.2508 9.17376 8.04754 9.25562 7.83558 9.25562C7.62362 9.25562 7.42037 9.17376 7.2704 9.02804C7.12055 8.88233 7.03637 8.68457 7.03637 8.47846C7.03637 8.27236 7.12055 8.07471 7.2704 7.92899C7.42037 7.78328 7.62351 7.70131 7.83547 7.70131Z"/> 
269                            </svg> 
270                        </div> 
271                        <a href="`+item.link+`" aria-label="`+item.title+`"><div class="klb-card__description">`+item.description+`</div></a> 
272                    </div> 
273                `; 
274                return acc; 
275            },'') 
276   
277            var element = $('.klb-blog-section-tag .klb-blog-section-tag__content'); 
278            element.html(html); 
279
280 
281        renderTemplate(); 
282    }); 
283</script>