Спецпроекты
Во время обработки запрошенного шаблона произошла ошибка...
Java method "com.sun.proxy.$Proxy139.getCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy139 object "com.liferay.asset.categories.internal.service.AssetCategoryPropertyAssetCategoryLocalServiceWrapper@5bdad518"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: category = AssetCategoryLocalService... [in template "20099#20135#47150" at line 10, column 17] - Reached through: #assign-container [in template "20099#20135#47150" at line 7, column 17] ----
1<#if entries?has_content>
2 <#assign baseURL = "/projects"/>
3 <div class="container">
4 <div class="z-mt-16 z-mt-md-76 z-mb-29 h2 z-breadcrumb">
5
6 <#if renderRequest.getParameter("categoryId")??>
7 <#assign
8 AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
9 categoryId = renderRequest.getParameter("categoryId")?number
10 category = AssetCategoryLocalService.getCategory(categoryId).getTitle(locale)
11 />
12 <a class="z-c-dark" href="${baseURL}">
13 ${portletDisplay.getTitle()}
14 </a>
15 ${" | "+category}
16 <#else>
17 ${portletDisplay.getTitle()}
18 </#if>
19 </div>
20 <div class="row">
21 <#list entries as entry>
22
23 <#assign
24 entry = entry
25
26 assetRenderer = entry.getAssetRenderer()
27
28 categories = entry.getCategories()
29
30 entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
31
32 viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))
33
34 dateFormat = "dd MMMM"
35
36 date = dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)
37
38 MAX_LENGTH_TEXT = 155
39
40 MAX_LENGTH_TEXT_WITHOUT_IMAGE = 355
41
42 articleContent = saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale))
43
44 content = articleContent.valueOf("//dynamic-element[@name='text']/dynamic-content/text()")
45
46 text = htmlUtil.stripHtml(content)
47
48 text = stringUtil.replace(text, " ", " ")
49 text = stringUtil.trim(text)
50
51 imageJson = articleContent.valueOf("//dynamic-element[@name='img']/dynamic-content/text()")
52 imageSrc = ""
53
54 category = categories[0].getTitle(locale)
55 category = htmlUtil.stripHtml(category)
56 />
57 <#if imageJson!="">
58 <#assign imageJson = imageJson?eval
59 imageSrc = "/documents/" + imageJson.groupId + "/" + imageJson.uuid + "?imagePreview=1"
60 text = stringUtil.shorten(text, MAX_LENGTH_TEXT)
61 />
62 <#else>
63 <#assign text = stringUtil.shorten(text, MAX_LENGTH_TEXT_WITHOUT_IMAGE) />
64 </#if>
65
66
67 <div class="col-lg-4 col-sm-6 col-12 z-mb-24 z-mb-md-64">
68 <a class="card card-article h-100 z-t-decoration-none z-h-min-200 z-shadow" href="${viewURL}">
69 <div class="h-100 z-d-flex-column">
70 <#if imageSrc!="">
71 <div class="z-h-240" style="background-image: url(${imageSrc});
72 background-size: cover; background-position: center; background-repeat: no-repeat;">
73 </div>
74 </#if>
75 <div class="z-px-20 z-pt-24 z-pb-32 z-d-flex-column"
76 style="flex-grow: 1">
77 <div class="z-c-medium-gray z-ff-secondary z-fs-12 z-line-h-14 z-fw-bold z-d-flex z-f-ls-010">
78 ${date}
79 </div>
80 <div class="card-hover-text z-f-title z-c-dark z-my-4 z-clip-text-2 z-c-red--is-hover">
81 ${entryTitle}
82 </div>
83 <hr align="left" class="z-w-72 z-bb-c-red z-bb-s-solid z-bb-w-4 z-mt-4 z-mb-20" />
84 <div class="z-f-body z-c-black z-mb-8 text-array-2">
85 ${text}
86 </div>
87 <div class="d-flex z-mt-auto">
88 <div class="card-hover-text z-c-light-red z-bb-s-solid z-bb-w-2 z-w-min-content
89 z-ff-primary-bold z-fs-10 z-line-h-12 z-t-upper" style="align-self: flex-end;">
90 <#if locale=="ru_RU">Читать<#else>Read</#if>
91 </div>
92 <div class="z-ff-primary z-fs-8 z-line-h-10 z-t-upper z-c-blue z-b-s-solid z-b-w-1
93 z-b-c-blue z-h-20 d-flex z-ai-center z-ml-auto z-px-8"
94 style="font-weight: 600; border-radius: 16px">
95 ${category}
96 </div>
97 </div>
98 </div>
99 </div>
100 </a>
101 </div>
102 </#list>
103 </div>
104 </div>
105</#if>
—
15 Предметов на странице
Проект «Русские сезоны» https://russianseasons.org/ru/live представляет программы ведущих российских творческих коллективов и учреждений культуры 

Проект «Большие гастроли-онлайн» https://tvkultura.ru/article/show/article_id/358994 знакомит зрителей с искусством театров регионов страны

Портал Культура.РФ https://www.culture.ru/live представляет онлайн-трансляции и записи событий со всей страны

Онлайн-фестиваль «Без антракта» https://tv.fontanka.ru представляет марафон событий Санкт-Петербурга 
