Интервью и выступления

Во время обработки запрошенного шаблона произошла ошибка...
Java method "ru.voskhod.gpparf.organization.liferay.common.api.service.impl.OrganizationServiceImpl.getPersonByUuid(String)" threw an exception when invoked on ru.voskhod.gpparf.organization.liferay.common.api.service.impl.OrganizationServiceImpl object "ru.voskhod.gpparf.organization.liferay.common.api.service.impl.OrganizationServiceImpl@4191811a"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign respond = organizationService...  [in template "20100#20136#2378626" at line 71, column 17]
----
1<#assign gpparf=PortalJspTagLibs["/META-INF/gpparf-translate.tld"]> 
2 
3<#assign ctx = serviceLocator.findService("ru.voskhod.gpparf.portal.feeds.main.page.portlet.util.FeedsTemplateRenderUtil").buildContext(.vars) /> 
4 
5<#assign tagList = templateUtil.getArticleTagsWithId(groupId, ctx.journalArticleId, locale)/> 
6<#assign catList = templateUtil.getNewsCategoriesWithId(groupId, ctx.journalArticleId, locale)/> 
7 
8<#assign url = themeDisplay.getPortalURL()/> 
9 
10 
11<#--todo:: перенести в buildContext--> 
12<#if gp_media_file?? && gp_media_file.getSiblings()?has_content> 
13    <#assign audioList = ddmService.getAudioFiles(gp_media_file.getSiblings()) /> 
14    <#assign videoList = ddmService.getVideoFiles(gp_media_file.getSiblings()) /> 
15</#if> 
16 
17<#assign imagesList = [] /> 
18<#if gp_images?? && gp_images.getSiblings()?has_content > 
19    <#list gp_images.getSiblings() as cur_gp_images> 
20        <#if cur_gp_images.getData()?? && cur_gp_images.getData() != ""> 
21            <#assign imagesList = imagesList + [cur_gp_images] /> 
22        </#if> 
23    </#list> 
24</#if> 
25 
26 
27 
28<#assign mediaFileCount = 0 /> 
29<#if gp_media_file?? && gp_media_file?has_content && gp_media_file.getSiblings()?has_content> 
30    <#list gp_media_file.getSiblings() as cur_gp_media> 
31        <#if cur_gp_media.data?? && cur_gp_media.data?has_content> 
32            <#assign mediaFileCount = mediaFileCount + 1 /> 
33        </#if> 
34    </#list> 
35</#if> 
36 
37<#assign attachmentCount = 0 /> 
38<#if gp_attachment?? && gp_attachment?has_content && gp_attachment.getSiblings()?has_content> 
39    <#list gp_attachment.getSiblings() as cur_gp_attachment> 
40        <#if cur_gp_attachment.data?? && cur_gp_attachment.data?has_content> 
41            <#assign attachmentCount = attachmentCount + 1 /> 
42        </#if> 
43    </#list> 
44</#if> 
45 
46<style> 
47    button:focus { 
48        outline: unset; 
49
50 
51    .a_custom { 
52        padding-top: 10px !important; 
53        color: white; 
54
55 
56    .a_custom:hover, .a_custom:focus { 
57        color: #ffffff; 
58        text-decoration: none; 
59        outline: unset; 
60
61</style> 
62 
63<div class="feeds-page__header"> 
64    <ul class="feeds-page__info"> 
65        <#if ctx.datetimePubFieldFormatted?has_content> 
66            <li class="feeds-page__info_item">${ctx.datetimePubFieldFormatted}</li> 
67        </#if> 
68        <#if gp_person_uid.getData()?has_content> 
69            <#assign respondName = organizationService.getPersonNameByUuid(gp_person_uid.getData())/> 
70            <#if respondName?has_content> 
71                <#assign respond = organizationService.getPersonByUuid(gp_person_uid.getData())/> 
72                <li class="feeds-page__info_item"> 
73                    <#assign personUrl = "/web" + themeDisplay.getSiteGroup().getFriendlyURL() + "/about-the-proc/management/" + gp_person_uid.getData()/> 
74 
75                    <#if respond.externalPortalVisible && respond.status== "ACTIVE"> 
76                        <a href="${personUrl}" title="" class="feeds-page__info_link"> 
77                            ${respondName} 
78                        </a> 
79                    <#else> 
80                        <span class="feeds-page__info_link"> 
81                            ${respondName} 
82                        </span> 
83                    </#if> 
84                </li> 
85            </#if> 
86        </#if> 
87    </ul> 
88    <div class="feeds-page__subtitle" id="text_printprw">${ctx.journalArticleTitle}</div> 
89</div> 
90<div class="feeds-page__body"> 
91    <div class="feeds-page__navigation"> 
92        <#if gp_content?has_content> 
93            <div class="feeds-page__navigation_item text-item is-active" 
94                 onclick="openTab('feeds-page__article_text_block', 'text-item')"> 
95                <span class="feeds-page__navigation_icon is-text">&nbsp;</span> 
96                <span class="feeds-page__navigation_tooltip"> 
97                    <@gpparf.translate key="feeds.tab.text" /> 
98                </span> 
99            </div> 
100        </#if> 
101        <#if (imagesList?size > 0)> 
102            <div class="feeds-page__navigation_item photo-item" 
103                 onclick="openTab('feeds-page__article_gallery', 'photo-item')"> 
104                <span class="feeds-page__navigation_icon is-image">&nbsp;</span> 
105                <span class="feeds-page__navigation_badge">${imagesList?size}</span> 
106                <span class="feeds-page__navigation_tooltip"> 
107                    <@gpparf.translate key="feeds.tab.photo" /> 
108                </span> 
109            </div> 
110        </#if> 
111        <#if (mediaFileCount > 0)> 
112            <div class="feeds-page__navigation_item media-item" 
113                 onclick="openTab('feeds-page__article_media', 'media-item')"> 
114                <span class="feeds-page__navigation_icon is-video">&nbsp;</span> 
115                <span class="feeds-page__navigation_badge">${mediaFileCount}</span> 
116                <span class="feeds-page__navigation_tooltip"> 
117                    <@gpparf.translate key="feeds.tab.media" /> 
118                </span> 
119            </div> 
120        </#if> 
121        <#if (attachmentCount > 0)> 
122            <div class="feeds-page__navigation_item attach-item" 
123                 onclick="openTab('feeds-page__article_file', 'attach-item')"> 
124                <span class="feeds-page__navigation_icon is-attach">&nbsp;</span> 
125                <span class="feeds-page__navigation_badge">${attachmentCount}</span> 
126                <span class="feeds-page__navigation_tooltip"> 
127                    <@gpparf.translate key="feeds.tab.attach" /> 
128                </span> 
129            </div> 
130        </#if> 
131        <#if !ctx.internal> 
132            <div class="feeds-page__navigation_item share-item" 
133                 onclick="openTab('feeds-page__article_share', 'share-item')"> 
134                <span class="feeds-page__navigation_icon is-share">&nbsp;</span> 
135                <span class="feeds-page__navigation_tooltip"> 
136                    <@gpparf.translate key="feeds.tab.share" /> 
137                </span> 
138            </div> 
139        </#if> 
140    </div> 
141    <div class="feeds-page__article"> 
142        <#if gp_content?has_content> 
143            <div class="feeds-page__article_text_block"> 
144                <#if (imagesList?size > 0)> 
145                    <div class="feeds-page__article_image"> 
146                        <div class="feeds-page__article_image-viewport"> 
147                            <div class="feeds-page__article_image-list"> 
148                                <#list imagesList as cur_gp_image> 
149                                    <#if cur_gp_image.getAttribute("alt")??> 
150                                        <#assign img_alt = cur_gp_image.getAttribute("alt")/> 
151                                    <#else> 
152                                        <#assign img_alt = ""/> 
153                                    </#if> 
154 
155                                    <#if cur_gp_image.getAttribute("displaySource")?? && cur_gp_image.getAttribute("displaySource") == "true"> 
156                                        <#assign img_src = cur_gp_image.getData()/> 
157                                    <#else> 
158                                        <#assign img_src = "/o/adaptive-media/image/" + cur_gp_image.getAttribute("fileEntryId") + "/news/img"/> 
159                                    </#if> 
160 
161                                    <div class="feeds-page__article_image-item"> 
162                                        <img src="${img_src}" alt="${img_alt}"> 
163                                    </div> 
164                                </#list> 
165                            </div> 
166                        </div> 
167                        <div class="feeds-page__article_image-buttons"> 
168                            <span class="feeds-page__article_image-arr to-left">&nbsp;</span> 
169                            <span class="feeds-page__article_image-arr to-right">&nbsp;</span> 
170                        </div> 
171                        <div class="feeds-page__article_image-counter"> 
172                        </div> 
173                    </div> 
174                </#if> 
175 
176 
177                <div class="feeds-page__article_text"> 
178                    ${gp_content.getData()} 
179                </div> 
180 
181                <div class="feeds-page__article_buttons"> 
182                    <a href="" class="button size-s a_custom" aria-label="<@gpparf.translate key="feeds.print" />" 
183                       id="button_printprw"><@gpparf.translate key="feeds.print" /> 
184                    </a> 
185                </div> 
186            </div> 
187        </#if> 
188 
189        <!-- Images begin --> 
190        <#if (imagesList?size > 0)> 
191            <div class="feeds-page__article_gallery" style="display: none"> 
192                <h4 class="feeds-page__article_gallery-title">${gp_images.getSiblings()?size} <@gpparf.translate key="feeds.photo" /></h4> 
193                <ul class="feeds-page__article_gallery-list"> 
194                    <#list imagesList as cur_gp_image> 
195                        <#if cur_gp_image.getAttribute("alt")??> 
196                            <#assign img_alt = cur_gp_image.getAttribute("alt")/> 
197                        <#else> 
198                            <#assign img_alt = ""/> 
199                        </#if> 
200 
201                        <#if cur_gp_image.getAttribute("displaySource")?? && cur_gp_image.getAttribute("displaySource") == "true"> 
202                            <#assign img_src = cur_gp_image.getData()/> 
203                        <#else> 
204                            <#assign img_src = "/o/adaptive-media/image/" + cur_gp_image.getAttribute("fileEntryId") + "/news/img"/> 
205                        </#if> 
206 
207                        <a data-epp-photo-modal="feeds-images" 
208                           data-title="${img_alt}" 
209                           href="${img_src}"> 
210                            <li class="feeds-page__article_gallery-item one-new-slider__item swiper-slide" 
211                                style="background-image: url('${img_src}')" 
212
213                            </li> 
214                        </a> 
215                    </#list> 
216                </ul> 
217            </div> 
218        </#if> 
219        <!-- Images end --> 
220 
221 
222        <!-- Media --> 
223        <#if (mediaFileCount > 0)> 
224            <div class="feeds-page__article_media" style="display: none"> 
225                <!-- Video slide --> 
226                <#if videoList?has_content> 
227                    <div class="feeds-page__article_video"> 
228                        <h4 class="feeds-page__article_video-title">${videoList?size} 
229                            <@gpparf.translate key="feeds.tab.video" /> 
230                        </h4> 
231                        <ul class="feeds-page__article_video-list"> 
232                            <#list videoList as cur_gp_media_file> 
233                                <#assign url = templateUtil.getImagePath(cur_gp_media_file, themeDisplay) /> 
234                                <#assign previewUrl = url + "&videoThumbnail=1" /> 
235                                <#assign videoSizeTitle = templateUtil.fileSizeFormat(cur_gp_media_file.size, locale)/> 
236 
237                                <#if cur_gp_media_file.description?has_content > 
238                                    <#assign description = cur_gp_media_file.description /> 
239                                <#else> 
240                                    <#assign description = cur_gp_media_file.title /> 
241                                </#if> 
242 
243                                <li class="feeds-page__article_video-item"> 
244                                    <div class="feeds-page__article_video-preview"> 
245                                        <a data-epp-video-modal="feeds-images" 
246                                           data-title="${description}" 
247                                           data-preview="${previewUrl}" 
248                                           href="${url}" 
249
250                                            <span class="feeds-page__article_video-tumb" 
251                                                  style="background-image: url('${previewUrl}')" 
252
253                                            </span> 
254                                        </a> 
255                                        <p class="feeds-page__article_video-name"> 
256                                            <span> 
257                                                ${description} 
258                                            </span> 
259                                        </p> 
260                                    </div> 
261                                    <a href="${url}&download=true" target="_blank" class="button size-s"> 
262                                        <@gpparf.translate key="feeds.download" /> [ ${videoSizeTitle} ] 
263                                    </a> 
264                                </li> 
265                            </#list> 
266                        </ul> 
267                    </div> 
268                </#if> 
269                <!-- Video slide end --> 
270 
271                <!-- Audio slide --> 
272                <#if audioList?has_content> 
273                    <div class="feeds-page__article_audio "> 
274                        <h4 class="feeds-page__article_audio-title"> 
275                            ${audioList?size} <@gpparf.translate key="feeds.tab.audio" /> 
276                        </h4> 
277                        <ul class="feeds-page__article_audio-list media-audio-wrapper"> 
278                            <#list audioList as cur_gp_media_file> 
279                                <#assign url = templateUtil.getImagePath(cur_gp_media_file, themeDisplay) /> 
280                                <#assign audioSizeTitle = templateUtil.fileSizeFormat(cur_gp_media_file.size, locale)/> 
281 
282                                <li class="feeds-page__article_audio-item media-a-wrapper"> 
283                                    <span class="feeds-page__article_audio-name"> 
284                                        <span> 
285                                            <#if cur_gp_media_file.description?has_content > 
286                                                ${cur_gp_media_file.description} 
287                                            <#else> 
288                                                ${cur_gp_media_file.title} 
289                                            </#if> 
290                                        </span> 
291                                    </span> 
292                                    <audio class="feeds_media_player" 
293                                           controls 
294                                           style="max-width:100%;" 
295                                           stretching="auto" 
296                                           pluginPath="js" 
297                                           loop="false" 
298                                           features="['playpause', 'progress', 'current', 'duration', 'tracks', 'volume']" 
299                                           alwaysShowControls="false" 
300                                           pauseOtherPlayers="true" 
301                                           preload="none" 
302
303                                        <source src="${url}" type="${cur_gp_media_file.getMimeType()}"> 
304                                    </audio> 
305                                    <a href="${url}&download=true" target="_blank" class="button size-s"> 
306                                        <@gpparf.translate key="feeds.download" /> [ ${audioSizeTitle} ] 
307                                    </a> 
308                                </li> 
309                            </#list> 
310                        </ul> 
311                    </div> 
312                </#if> 
313                <!-- Audio slide end --> 
314            </div> 
315        </#if> 
316        <!-- Media end --> 
317 
318        <!-- Attachments begin --> 
319        <#if (attachmentCount > 0)> 
320            <div class="feeds-page__article_file" style="display: none"> 
321                <#assign numberOfFiles = templateUtil.numberOfFiles(gp_attachment.getSiblings()?size) /> 
322                <h4 class="feeds-page__article_file-title">${numberOfFiles}</h4> 
323                <ul class="feeds-page__article_file-list"> 
324                    <#list gp_attachment.getSiblings() as cur_gp_attachment> 
325                        <#assign fileSize = ddmService.getFileSizeByDataEntry(locale, groupId, cur_gp_attachment) /> 
326                        <#assign sizeTitle = templateUtil.fileSizeFormat(fileSize, locale)/> 
327 
328                        <#if cur_gp_attachment.data?? && cur_gp_attachment.data?has_content> 
329                            <#assign fileMeta = jsonFactoryUtil.createJSONObject(cur_gp_attachment.data?replace('\\\\u(....)', '&#x$1;', 'r'))/> 
330 
331                            <li class="feeds-page__article_file-item"> 
332                                <p class="feeds-page__article_file-name"> 
333                                    <#if cur_gp_attachment.gp_attachment_description?? && cur_gp_attachment.gp_attachment_description.getData()?has_content> 
334                                        <#assign fileDescription = cur_gp_attachment.gp_attachment_description.getData() /> 
335                                        <spna> 
336                                            ${fileDescription} 
337                                        </spna> 
338                                    <#else > 
339                                        <spna> 
340                                            ${fileMeta.getString('title')} 
341                                        </spna> 
342                                    </#if> 
343                                </p> 
344                                <a href="${cur_gp_attachment.getData()}&download=true" target="_blank" 
345                                   class="button size-s a_custom"> 
346                                    <@gpparf.translate key="feeds.download" /> [ ${sizeTitle} ] 
347                                </a> 
348                            </li> 
349                        </#if> 
350                    </#list> 
351                </ul> 
352            </div> 
353        </#if> 
354 
355        <!-- Attachments end --> 
356 
357        <#if !ctx.internal> 
358            <div class="feeds-page__article_share" style="display: none"> 
359                <span class="feeds-page__article_share-title"> 
360                    <@gpparf.translate key="feeds.direct-link" /> 
361                </span> 
362                <div class="text-field hidden-xs"> 
363                    <div class="text-field__value"> 
364                        <input type="search" class="text-field__input" placeholder="${ctx.repostUrl}" 
365                               value="${ctx.repostUrl}" 
366                               readonly> 
367                    </div> 
368                    <span class="text-field__help">&nbsp;</span> 
369                </div> 
370                <button id="shareButton" class="a_custom button hidden-lg hidden-sm  hidden-md size-s" 
371                        onclick="CopyToClipboard('${ctx.repostUrl}')" 
372
373                    <@gpparf.translate key="feeds.direct-link.copy" /> 
374                </button> 
375 
376                <span class="feeds-page__article_share-title"> 
377                    <@gpparf.translate key="feeds.share" /> 
378                </span> 
379                <ul class="feeds-page__article_share-list"> 
380                    <li class="feeds-page__article_share-item"> 
381                        <a href="#" title="" class="feeds-page__article_share-link s_vk">Вконтакте</a> 
382                    </li> 
383                    <li class="feeds-page__article_share-item"> 
384                        <a href="#" title="" class="feeds-page__article_share-link s_odnoklassniki">Одноклассники</a> 
385                    </li> 
386                </ul> 
387            </div> 
388        </#if> 
389    </div> 
390</div> 
391 
392<div id="printContent" class="print_data"> 
393    <div class="print_header"> 
394        <div class="print__wrapper"> 
395            <div class="print__logo"> 
396                <#if !ctx.internal> 
397                    <img src="/o/gpparf-public/images/logo.png" alt="logo" width="50" height="54"> 
398                <#else> 
399                    <img src="/o/gpparf-internal/images/logo.png" alt="logo" width="50" height="54"> 
400                </#if> 
401                <h2 class="print__title">${ctx.procStart}<br><span>${ctx.procEnd}</span></h2> 
402            </div> 
403            <div class="print_button_wrapper no-print"> 
404                <a href="#" class="print_button" aria-label="<@gpparf.translate key="feeds.print" />" 
405                   id="button_print" onclick="self.print()"> 
406                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="19" viewBox="0 0 24 19"> 
407                        <path fill-rule="evenodd" 
408                              d="M7 17h10v-7H7v7zm-2 1v-4H0V3h24v11h-5v5H5v-1zm0-9V8h14v4h3V5H2v7h3V9zm0-9h14v2H5V0zm4 13h6v2H9v-2z"></path> 
409                    </svg> 
410                </a> 
411            </div> 
412        </div> 
413        <div class="container"> 
414            <div class="category__info row"> 
415                <#if gp_person_uid.getData()?has_content> 
416                    <#assign respondName = organizationService.getPersonNameByUuid(gp_person_uid.getData())/> 
417                    <#if respondName?has_content> 
418                        <#assign respond = organizationService.getPersonByUuid(gp_person_uid.getData())/> 
419                        <div class="category__item col-xs-12 col-sm-8 col-md-8 col-lg-6"> 
420                            <span class="category__category"><@gpparf.translate key="feeds.source" />:</span> 
421                            <p class="feeds-page__info_link"> 
422                                ${respondName} 
423                            </p> 
424                        </div> 
425                    </#if> 
426                </#if> 
427                <div class="category__item col-xs-12 col-sm-4 col-md-4 col-lg-6"> 
428                    <span class="category__category"><@gpparf.translate key="feeds.publication-date" />:</span> 
429                    <p>${ctx.datetimePubFieldFormatted}</p> 
430                </div> 
431            </div> 
432        </div> 
433    </div> 
434 
435    <section class="one-new__content"> 
436        <h2 class="one-new__title">${ctx.journalArticleTitle}</h2> 
437        <#if gp_content?has_content> 
438            <div class="break-word">${gp_content.getData()}</div> 
439        </#if> 
440    </section> 
441    <div class="print_footer"> 
442        <div class="container"> 
443            <div class="row"> 
444                <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> 
445                    © 2003-${.now?string('yyyy')} ${ctx.proc}<br> 
446                    <@gpparf.translate key="feeds.copyright" /> 
447                </div> 
448                <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> 
449                    <#if ctx.currentUnitContactInfo?has_content> 
450                        <@gpparf.translate key="feeds.address" />: 
451                        <#list ctx.currentUnitContactInfo as contact_group> 
452                            <#list contact_group.contactList as contact> 
453                                <#if contact.address??> 
454                                    ${contact.address}<br> 
455                                </#if> 
456                                <#list contact.contactPointList as point> 
457                                    <#if point.contactPointCategoryCode == "PHONE"> 
458                                        <@gpparf.translate key="feeds.phone" />: 
459                                        <a href="tel:${point.value}">${point.value}</a> 
460                                        <br> 
461                                    </#if> 
462                                </#list> 
463                            </#list> 
464                        </#list> 
465                    </#if> 
466                </div> 
467            </div> 
468        </div> 
469    </div> 
470</div> 
471 
472 
473<script> 
474    (function () { 
475        var init = function () { 
476            $(".feeds-page__article_share-link").ShareLink({ 
477                title: '${ctx.journalArticleTitle?js_string}', 
478                text: '${ctx.journalArticleTitle?js_string}', 
479                image: '${themeDisplay.getPortalURL()}/documents/1664002/1691794/emblem_big%281%29.PNG', 
480                url: '${ctx.repostUrl}' 
481            }); 
482 
483 
484            $("#button_printprw").printPreview({ 
485                obj2print: '#printContent', 
486                width: '980', 
487                style: '<style>.print_data{display:block;}</style>', 
488                resizable: 'no', 
489                status: 'no', 
490                title: '${ctx.proc?html}' 
491            }); 
492 
493            $("#shareButton").on("click", function () { 
494                $(this).html('<@gpparf.translate key="feeds.direct-link.copy-success" />'); 
495                setTimeout(function () { 
496                    $("#shareButton").html('<@gpparf.translate key="feeds.direct-link.copy" />'); 
497                }, 600); 
498            }); 
499 
500            $('.feeds_media_player').mediaelementplayer({ 
501                audioVolume: "vertical", 
502                success: function (mediaElement, originalNode, instance2) { 
503                    mediaElement.pause(); 
504                    mediaElement.load(); 
505
506            }); 
507 
508            <#if (imagesList?size > 0)> 
509            eppCarousel.create({ 
510                containerSelector: '.feeds-page__article_image-list', 
511                buttonsSelector: '.feeds-page__article_image-buttons', 
512                dotContainerSelector: '.feeds-page__article_image-counter', 
513                dotElementClass: '${(imagesList?size > 1 && imagesList?size <= 5)?string('feeds-page__article_image-counter_item', '')}', 
514                dotElementTag: 'a', 
515                fadeElementSelector: '.feeds-page__article_image_content', 
516                infinity: true, 
517            }); 
518            </#if> 
519 
520            textOverflowDots('.feeds-page__article_video-name span'); 
521            textOverflowDots('.feeds-page__article_audio-name span'); 
522        }; 
523 
524        if ($().mediaelementplayer && $().ShareLink && $().printPreview) 
525            init(); 
526        else 
527            document.addEventListener("DOMContentLoaded", init); 
528    })(); 
529 
530    function openTab(blockName, tabName) { 
531 
532        var tab = $('.' + tabName); 
533 
534        if (!tab.hasClass('is-active')) { 
535 
536            $('.text-item').removeClass('is-active'); 
537            $('.photo-item').removeClass('is-active'); 
538            $('.media-item').removeClass('is-active'); 
539            $('.attach-item').removeClass('is-active'); 
540            $('.share-item').removeClass('is-active'); 
541 
542            tab.addClass('is-active'); 
543 
544            $('.feeds-page__article_text_block').css('display', 'none'); 
545            $('.feeds-page__article_gallery').css('display', 'none'); 
546            $('.feeds-page__article_media').css('display', 'none'); 
547            $('.feeds-page__article_file').css('display', 'none'); 
548            $('.feeds-page__article_share').css('display', 'none'); 
549            $('.' + blockName).css('display', 'block'); 
550
551
552 
553    document.querySelectorAll('.feeds-page__navigation_item').forEach(function (item) { 
554        item.onpointerenter = function (e) { 
555            e.target.classList.add('pointer-enter'); 
556        }; 
557        item.onpointerleave = function (e) { 
558            e.target.classList.remove('pointer-enter'); 
559        }; 
560    }); 
561</script>