РАСПОРЯЖЕНИЯ ДЕПАРТАМЕНТА

Во время обработки запрошенного шаблона произошла ошибка...
The following has evaluated to null or missing:
==> entry.getPublishDate()  [in template "20116#20152#3768232" at line 18, column 29]

----
Tip: If the failing expression is known to be 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 date = entry.getPublishDate()  [in template "20116#20152#3768232" at line 18, column 13]
----
1<style> 
2.item__menu { 
3    position: absolute; 
4    top: 0; 
5    right: 0; 
6
7</style> 
8<#assign portletId = themeDisplay.getPortletDisplay().getId()/> 
9<#if entries?has_content> 
10    <section class="avo-section avo_news avo_news_inner"> 
11        <div class="avo_news_2col"> 
12             
13            <div class="row"> 
14 
15            <#list entries as entry> 
16            <#assign entryRenderer = entry.getAssetRenderer()/> 
17            <#assign imgUrl = entryRenderer.getURLImagePreview(renderRequest)!""/> 
18            <#assign date = entry.getPublishDate()/> 
19<#-- полная картинка -->             
20             
21            <#-- получение дополнительных полей  --> 
22            <#assign fields = entryRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap() /> 
23             
24		    <#assign hasImages = false> 
25            <#list fields['image']! as image> 
26                <#if image.getValue().getString(locale)?has_content> 
27                    <#assign hasImages = true> 
28                    <#break> 
29                </#if> 
30            </#list> 
31             
32            <#assign hasVideos = false> 
33            <#list fields['videoLink']! as videoLink> 
34                <#if videoLink.getValue().getString(locale)?has_content> 
35                    <#assign hasVideos = true> 
36                    <#break> 
37                </#if> 
38            </#list> 
39             
40            <#assign bigPreviewFull = ''/> 
41            <#assign bigPreviewSmall = ''/> 
42            <#assign bigPreviews = fields['bigPreview']![]> 
43            <#if bigPreviews?size gt 0> 
44                <#assign bigPreviewJSON = bigPreviews[0].getValue().getString(locale) /> 
45                <#if bigPreviewJSON?length gt 0 > 
46                    <#assign bigPreview = bigPreviewJSON?eval /> 
47                    <#assign bigPreviewFull = "/documents/${bigPreview.groupId}/0/${bigPreview.title}/${bigPreview.uuid}" /> 
48                    <#assign bigPreviewSmall = bigPreviewFull + '?imagePreview=1' /> 
49                     
50                </#if> 
51            </#if> 
52 
53           <#assign entryUrl = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry, true)/> 
54 
55                <div class="col-sm-6"> 
56                    <article class="news_item"> 
57                    <div class="picture"> 
58                        <picture> 
59                            <#if bigPreviewSmall?has_content> 
60                                <img src="${bigPreviewSmall}" alt="${entry.getTitle(locale)}"/> 
61                            <#elseif imgUrl?has_content> 
62                                <img src="${imgUrl}" alt="${entry.getTitle(locale)}"/> 
63                            <#else/> 
64                                <span>${entry.getTitle(locale)}</span> 
65                            </#if> 
66                        </picture> 
67                         
68                        <div class="hover_box"> 
69                            <a class="hover_link" href="${entryUrl}"></a> 
70                            <#if bigPreviewFull?has_content> 
71                            <div class="icons"> 
72                                <a download="download" href="${bigPreviewFull}" title="Скачать"> 
73                                    <svg height="512pt" viewBox="0 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m409.785156 278.5-153.785156 153.785156-153.785156-153.785156 28.285156-28.285156 105.5 105.5v-355.714844h40v355.714844l105.5-105.5zm102.214844 193.5h-512v40h512zm0 0"/></svg> 
74                                </a> 
75                                <a data-fancybox  class="fullscreen"  href="${bigPreviewFull}" title="Увеличить"> 
76                                    <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="expand" class="svg-inline--fa fa-expand fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"></path></svg> 
77                                </a> 
78                            </div> 
79                            </#if> 
80                        </div> 
81                    </div> 
82                    <div class="flex"> 
83                        <span class="date">${dateUtil.getDate(date, "dd MMMM yyyy", locale)}</span> 
84                        <span class="avo_icons"> 
85                            <#if hasImages> 
86                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 16V4C22 2.9 21.1 2 20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16ZM11.4 12.53L13.03 14.71L15.61 11.49C15.81 11.24 16.19 11.24 16.39 11.49L19.35 15.19C19.61 15.52 19.38 16 18.96 16H9C8.59 16 8.35 15.53 8.6 15.2L10.6 12.53C10.8 12.27 11.2 12.27 11.4 12.53ZM2 7V20C2 21.1 2.9 22 4 22H17C17.55 22 18 21.55 18 21C18 20.45 17.55 20 17 20H5C4.45 20 4 19.55 4 19V7C4 6.45 3.55 6 3 6C2.45 6 2 6.45 2 7Z" fill="#B8BCCB"/></svg> 
87                            </#if> 
88                            <#if hasVideos> 
89                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 4L19.82 7.64C19.9 7.8 19.78 8 19.6 8H17.62C17.24 8 16.89 7.79 16.73 7.45L15 4H13L14.82 7.64C14.9 7.8 14.78 8 14.6 8H12.62C12.24 8 11.89 7.79 11.73 7.45L10 4H8L9.82 7.64C9.9 7.8 9.78 8 9.6 8H7.62C7.24 8 6.89 7.79 6.72 7.45L5 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V5C22 4.45 21.55 4 21 4H18Z" fill="#B8BCCB"/></svg> 
90                            </#if> 
91                        </span> 
92                    </div> 
93                    <a href="${entryUrl}"> 
94                        <h3>${entry.getTitle(locale)}</h3> 
95                        <#assign summary = entryRenderer.getSummary(renderRequest,renderResponse)/> 
96                        <#assign fullSummary = summary/> 
97                        <#assign abstractLength = getPreference(portletPreferences, "abstractLength", 200)/> 
98                        <#assign summarySplitIndex = summary?index_of(" ", abstractLength)/> 
99                        <#if summarySplitIndex gt 0> 
100                            <#assign summary = summary?substring(0,summarySplitIndex)?remove_ending(".") + '...'/> 
101                        </#if> 
102                        <p title="${fullSummary}">${summary}</p> 
103                    </a> 
104                        <#assign editPermission = entryRenderer.hasEditPermission(permissionChecker)/> 
105                				<#if editPermission> 
106                					<div class="item__menu"> 
107                						<#assign redirectUrl = portletURLFactory.create(renderRequest, themeDisplay.getPortletDisplay().getId(),themeDisplay.getPlid(), "RENDER_PHASE")/> 
108                						<#assign editUrl = entryRenderer.getURLEdit(renderRequest,renderResponse,windowStateFactory.getWindowState("NORMAL"),redirectUrl)/> 
109                						<#assign editTitle = languageUtil.format(locale, 'edit-x', htmlUtil.escape(entry.getTitle(locale))) /> 
110                						<#assign menuId = portletId + '_' + entry.getEntryId()/> 
111                						<@liferay_ui["icon-menu"] cssClass="visible-interaction" direction="left-side" markupView="lexicon" showWhenSingleIcon=true> 
112                							<@liferay_ui.icon data={'destroyOnHide': true, 'id': menuId + '_edit', 'title': editTitle} message="edit" label=true method="get" url=editUrl.toString() useDialog=false/> 
113                						</@> 
114                					</div> 
115                				</#if> 
116                    </article> 
117                </div><!--col--> 
118 
119            </#list> 
120            </div><!--/row--> 
121 
122        </div><!--/container--> 
123    </section><!--/--> 
124</#if> 
125 
126<#function getPreference preferences name defaultValue> 
127	<#assign preferenceArray = preferences[name]![]/> 
128	<#if preferenceArray?size gt 0> 
129		<#return preferenceArray[0]?number!defaultValue> 
130	</#if> 
131		<#return defaultValue> 
132</#function>