Peamine
Malli töötlemisel tekkis viga.
Error on line 24, column 9 in 10132#10165#22886599 entry.getAssetRenderer() is undefined. It cannot be assigned to assetRenderer
1<#assign
2 liferay_ui = taglibLiferayHash["/WEB-INF/tld/liferay-ui.tld"]
3 LayoutLocalService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService")
4 DLFileEntryLocalServiceUtil = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")
5
6/>
7<#if validator.isNull(portletSetupLinkToLayoutUuid)>
8 <#assign flag = true>
9</#if>
10<#if validator.isNotNull(portletSetupLinkToLayoutUuid) && (portletSetupLinkToLayoutUuid != 'current-page')>
11 <#assign linkToLayoutUuid = portletSetupLinkToLayoutUuid>
12 <#assign
13 destLayout = LayoutLocalService.getLayoutByUuidAndGroupId(linkToLayoutUuid, groupId, false)
14 destId = destLayout.getTypeSettingsProperty('default-asset-publisher-portlet-id')?split("_")[2]
15 srcId = renderResponse.getNamespace()?split("_")[3]
16 >
17</#if>
18
19<#list entries as entry>
20 <#assign entry = entry />
21 <#assign groupId = entry.getGroupId()/>
22 <#assign imgsrc = ''/>
23
24 <#assign assetRenderer = entry.getAssetRenderer() />
25 <#switch entry.getClassName()>
26 <#case "com.liferay.portlet.journal.model.JournalArticle"><#-- Сетевой контент -->
27 <#assign article = assetRenderer.getArticle() />
28 <#assign structureId = article.getStructureId() />
29 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
30 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) />
31 <#if assetLinkBehavior != "showFullContent">
32 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry, true) />
33 </#if>
34 <#if validator.isNotNull(portletSetupLinkToLayoutUuid) && (portletSetupLinkToLayoutUuid != 'current-page')>
35 <#assign viewURL = viewURL?replace(srcId, destId) >
36 </#if>
37 <#if structureId =="2684936"> <#-- Внешняя ссылка -->
38 <#assign document = saxReaderUtil.read(article.getContent())>
39 <#assign rootElement = document.getRootElement() />
40 <#assign fieldLocale = getLocale(rootElement) />
41 <#if (article.getAvailableLanguageIds()?size > 1)>
42 <#assign node = document.selectSingleNode("/root/dynamic-element/dynamic-content[@language-id='" + fieldLocale + "']") >
43 <#else>
44 <#assign node = document.selectSingleNode("/root/dynamic-element/dynamic-content") >
45 </#if>
46 <#assign viewURL= node.getText()>
47 </#if>
48
49
50<#-- Get first image -->
51 <#if structureId =="4539192"> <#-- Новости с фото -->
52 <#assign imgsrc = getField(assetRenderer.getArticle(), "docURL") />
53 <#if validator.isBlank(imgsrc)>
54 <#assign imgsrc = getField(assetRenderer.getArticle(), "docURLt") />
55 </#if>
56 </#if>
57
58 <#-- if validator.isBlank(imgsrc)>
59 <#assign imgsrc = assetRenderer.getThumbnailPath(renderRequest) />
60 </#if -->
61 <#-- assign imgsrc = assetRenderer.getThumbnailPath(renderRequest) / -->
62
63 <#if article.isSmallImage()>
64 <#assign imgsrc = assetRenderer.getURLImagePreview(renderRequest) />
65 </#if>
66 <#if imgsrc?starts_with("http")>
67 <#elseif imgsrc?contains("?")>
68 <#assign imgsrc = imgsrc+"&imageThumbnail=1">
69 <#elseif !validator.isBlank(imgsrc)>
70 <#assign imgsrc = imgsrc+"?imageThumbnail=1">
71 </#if>
72 <#break>
73 <#case "com.liferay.portlet.documentlibrary.model.DLFileEntry"><#-- док. и медиа(файл) -->
74 <#assign viewURL= entry.getAssetRenderer().getURLDownload(themeDisplay)>
75 <#assign entryTitle = entry.getDescription()>
76 <#if entryTitle = "">
77 <#assign file = DLFileEntryLocalServiceUtil.getDLFileEntryByUuidAndGroupId(entry.getClassUuid(), groupId)>
78 <#assign entryTitle = file.title?replace('.'+file.extension,'', 'i')>
79 </#if>
80 <#assign imgsrc = entry.getAssetRenderer().getThumbnailPath(renderRequest)>
81 <#break>
82 </#switch>
83
84
85
86
87 <div class="asset-abstract item clearfix<#if validator.isBlank(imgsrc)> noimg</#if>">
88 <div class="lfr-meta-actions asset-actions">
89 <@getPrintIcon />
90 <@getFlagsIcon />
91 <@getEditIcon />
92 </div>
93 <#if entry.getClassName() == "com.liferay.portlet.journal.model.JournalArticle">
94 <@getMetadataField fieldName="publish-date" />
95 </#if>
96 <#if !validator.isBlank(imgsrc)>
97 <div class="imgwrap">
98 <img src="${imgsrc}">
99 </div>
100 </#if>
101 <div class="title">
102 <a href="${viewURL}"<#if (entry.getClassName() == "com.liferay.portlet.journal.model.JournalArticle")&&(structureId =="2684936")> target="_blank"</#if>>
103 ${entryTitle}
104 </a>
105 </div>
106 </div>
107</#list>
108
109<style>
110.teaser-date {
111 /* border-bottom: 1px solid #bebebf;
112 color: #ce2350; */
113 font-weight: bold;
114 margin-bottom: 4px;
115 margin-top: 6px;
116 padding: 0;
117}
118.imgwrap {
119 float: left;
120 height: 100%;
121 max-width: 100px;
122}
123.imgwrap img {
124 max-width: 100px;
125}
126.title {
127 margin-left: 100px;
128 padding: 0 0.5em 0.5em;
129}
130.title a {
131 font-size: 1.1em;
132 line-height: 1.2em;
133 text-decoration: none;
134}
135.noimg .imgwrap {display: none;}
136.noimg .title {margin-left: 0;}
137</style>
138
139
140<#-- GET Field from Journal Article -->
141<#function getField journalArticle fieldName>
142 <#assign document = saxReaderUtil.read(journalArticle.getContent()) />
143 <#assign rootElement = document.getRootElement() />
144
145 <#-- Get locale to use to extract URL -->
146 <#assign fieldLocale = getLocale(rootElement) />
147
148
149 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='docTitle']//dynamic-element[@name='" + fieldName + "']//dynamic-content[@language-id='" + fieldLocale + "']") />
150
151 <#if (xPathSelector.selectSingleNode(rootElement))?? >
152 <#assign returnField = xPathSelector.selectSingleNode(rootElement).getStringValue() />
153
154 <#else>
155 <#assign returnField = ""/>
156 </#if>
157
158 <#return returnField />
159 </#function>
160
161 <#-- get locale - checks is current locale in the list of available locales -->
162 <#function getLocale rootElement>
163 <#assign availableLocales = rootElement.attribute("available-locales").getText() />
164 <#assign defaultLocale = rootElement.attribute("default-locale").getText() />
165 <#if (availableLocales?contains(locale)) >
166 <#assign returnLocale = locale />
167 <#else>
168 <#assign returnLocale = defaultLocale />
169 </#if>
170
171 <#return returnLocale />
172 </#function>
173
174
175<#macro getEditIcon>
176 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
177 <#assign redirectURL = renderResponse.createRenderURL() />
178
179 ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")}
180 ${redirectURL.setWindowState("pop_up")}
181
182 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
183
184 <#if validator.isNotNull(editPortletURL)>
185 <#assign title = languageUtil.format(locale, "edit-x", entryTitle) />
186
187 <@liferay_ui["icon"]
188 image="edit"
189 message=title
190 url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
191 />
192 </#if>
193 </#if>
194</#macro>
195
196<#macro getFlagsIcon>
197 <#if enableFlags == "true">
198 <@liferay_ui["flags"]
199 className=entry.getClassName()
200 classPK=entry.getClassPK()
201 contentTitle=entry.getTitle(locale)
202 label=false
203 reportedUserId=entry.getUserId()
204 />
205 </#if>
206</#macro>
207
208<#macro getMetadataField
209 fieldName
210>
211 <#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
212 <div class="teaser-date">
213 <#if fieldName == "publish-date">
214 ${dateUtil.getDate(entry.getPublishDate(), "dd.MM.yy", locale)}
215 </#if>
216 </div>
217 </#if>
218</#macro>
219
220<#macro getPrintIcon>
221 <#if enablePrint == "true" >
222 <#assign printURL = renderResponse.createRenderURL() />
223
224 ${printURL.setParameter("struts_action", "/asset_publisher/view_content")}
225 ${printURL.setParameter("assetEntryId", entry.getEntryId()?string)}
226 ${printURL.setParameter("viewMode", "print")}
227 ${printURL.setParameter("type", entry.getAssetRendererFactory().getType())}
228
229 <#if (validator.isNotNull(assetRenderer.getUrlTitle()))>
230 <#if (assetRenderer.getGroupId() != themeDisplay.getScopeGroupId())>
231 ${printURL.setParameter("groupId", assetRenderer.getGroupId()?string)}
232 </#if>
233
234 ${printURL.setParameter("urlTitle", assetRenderer.getUrlTitle())}
235 </#if>
236
237 ${printURL.setWindowState("pop_up")}
238
239 <@liferay_ui["icon"]
240 image="print"
241 message="print"
242 url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "printAsset', title: '" + languageUtil.format(locale, "print-x-x", ["hide-accessible", entryTitle]) + "', uri: '" + htmlUtil.escapeURL(printURL.toString()) + "'});"
243 />
244 </#if>
245</#macro>