IFADs Twenty-Fifth Anniversary

IFAD Asset Request Portlet

ناشر الأصول

حصل خطأ عند معالجة القالب.
The following has evaluated to null or missing:
==> speakers_code  [in template "10154#10192#EVENT" at line 46, column 6]

----
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: #if speakers_code.getSiblings()?hasCo...  [in template "10154#10192#EVENT" at line 46, column 1]
----
1<#assign 
2journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
5classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")> 
6 
7<#assign globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global")> 
8<#assign destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry")> 
9<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
10 
11<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(articleGroupId), .vars['reserved-article-id'].data)> 
12<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey)> 
13 
14<#assign articleUrl = 
15asset.getAssetRenderer().getURLViewInContext(renderRequest, renderResponse, currentUrl)> 
16 
17<#assign fullDateFormatted = ""> 
18 
19<#if eventEndDate?hasContent && eventEndDate.getData()?hasContent> 
20    <#assign eventStartDateLocal = dateUtil.parseDate("yyyy-MM-dd",  eventStartDate.getData(), locale)> 
21    <#assign eventEndDateLocal = dateUtil.parseDate("yyyy-MM-dd",  eventEndDate.getData(), locale)> 
22 
23    <#assign eventStartDay = dateUtil.getDate(eventStartDateLocal, "dd", locale)> 
24    <#assign eventEndDay = dateUtil.getDate(eventEndDateLocal, "dd", locale)> 
25    <#assign eventYear = dateUtil.getDate(eventEndDateLocal, "yyyy", locale)> 
26 
27    <#assign eventStartMonth = dateUtil.getDate(eventStartDateLocal, "MMMM", locale)> 
28    <#assign eventEndMonth = dateUtil.getDate(eventEndDateLocal, "MMMM", locale)> 
29 
30    <#if eventStartMonth == eventEndMonth> 
31        <#if eventStartDay == eventEndDay> 
32            <#assign fullDateFormatted = "${eventStartDay} ${eventStartMonth} ${eventYear}"> 
33        <#else> 
34            <#assign fullDateFormatted = "${eventStartDay} - ${eventEndDay} ${eventStartMonth} ${eventYear}"> 
35        </#if> 
36    <#else> 
37        <#assign fullDateFormatted = "${eventStartDay} ${eventStartMonth} - ${eventEndDay} ${eventEndMonth} ${eventYear}"> 
38    </#if> 
39<#elseIf eventStartDate?hasContent && eventStartDate.getData()?hasContent> 
40    <#assign eventStartDateLocal = dateUtil.parseDate("yyyy-MM-dd",  eventStartDate.getData(), locale)> 
41    <#assign fullDateFormatted = dateUtil.getDate(eventStartDateLocal, "dd MMMM yyyy", locale)> 
42</#if> 
43 
44<#assign speakersItems = ""> 
45 
46<#if speakers_code.getSiblings()?hasContent> 
47    <#list speakers_code.getSiblings() as speakerCode> 
48        <#assign speakersItems = "${speakersItems}|${speakerCode.getData()}"> 
49    </#list> 
50</#if> 
51 
52<div class="abstract-article event"> 
53    <div class="container publication-structure"> 
54        <div class="row"> 
55            <div class="col-md-10 offset-md-1"> 
56                <div class="row"> 
57                    <div class="col-md-6"> 
58                        <div class="pub-header header-section"> 
59                            <div class="tags"><@liferay.language key="${article.getStructureId()?lowerCase}" /></div> 
60                            <h1>${event_title.getData()} 
61                                <#if fullDateFormatted?hasContent> 
62                                    <div class="article-date">${fullDateFormatted}</div> 
63                                </#if> 
64                            </h1> 
65                        </div> 
66                        <div class="main-content"> 
67                            ${main_content.getData()} 
68                        </div> 
69                    </div> 
70                    <div class="col-md-5 offset-md-1"> 
71                        <div class="pub-shadowbox"> 
72 
73                            <div class="pub-image"> 
74                                <#if shadowbox_image?hasContent && shadowbox_image.getData()?hasContent> 
75                                    <img class="staff-hero-image" src="${shadowbox_image.getData()}"/> 
76                                </#if> 
77                            </div> 
78 
79                            <#if location?hasContent && location.getData()?hasContent> 
80                                <div class="pub-row"> 
81                                    <p class="pub-row-title"><@liferay.language key="location" /></p> 
82                                    <p class="pub-row-text">${location.getData()}</p> 
83                                </div> 
84                            </#if> 
85 
86                            <#if partners?hasContent && partners.getData()?hasContent> 
87                                <div class="pub-row"> 
88                                    <p class="pub-row-title"><@liferay.language key="partners" /></p> 
89                                    <p class="pub-row-text">${partners.getData()}</p> 
90                                </div> 
91                            </#if> 
92 
93                            <#if website?hasContent && website.getData()?hasContent> 
94                                <div class="pub-row"> 
95                                    <p class="pub-row-title"><@liferay.language key="event-website" /></p> 
96                                    <#if website.website_title?hasContent && website.website_title.getData()?hasContent> 
97                                        <p class="pub-row-text"><a href="${website.getData()}" 
98                                                                   target="_blank">${website.website_title.getData()}</a> 
99                                        </p> 
100                                    <#else> 
101                                        <p class="pub-row-text"><a href="${website.getData()}" 
102                                                                   target="_blank">${website.getData()}</a></p> 
103                                    </#if> 
104                                </div> 
105                            </#if> 
106 
107                            <#assign langList = {}> 
108                            <#assign displayLangList = false> 
109 
110                            <#list article.getAvailableLanguageIds() as articleLocale> 
111                                <#assign langCode = articleLocale?split("_")[0]> 
112 
113                                <#assign localizedUrl = 
114                                articleUrl?replace("/${locale.getLanguage()}/", "/${langCode}/")> 
115                                <#assign langList = langList + {"${localeUtil.fromLanguageId(articleLocale).getDisplayLanguage()}": "${localizedUrl}"}> 
116 
117                            <#-- Display full list only if there is at least one non-official language--> 
118                                <#if langCode != "en" && langCode != "es" && langCode != "fr" && langCode != "ar"> 
119                                    <#assign displayLangList = true> 
120                                </#if> 
121                            </#list> 
122 
123                            <#if displayLangList> 
124                                <div class="pub-row"> 
125                                    <p class="pub-row-title"><@liferay.language key="additional-languages" /></p> 
126                                    <p class="pub-row-text languages"> 
127                                        <#list langList as langName, localizedUrl> 
128                                            <a href="${localizedUrl}">${langName} ${langName?hasNext?then(',','')}</a> 
129                                        </#list> 
130                                    </p> 
131                                </div> 
132                            </#if> 
133 
134                            <#if asset.getTagNames()?hasContent> 
135                                <div class="pub-row"> 
136                                    <p class="pub-row-title">Hashtags</p> 
137                                    <p class="pub-row-text"> 
138                                        <#list asset.getTagNames() as tag> 
139                                            <span>#${tag}</span> 
140                                        </#list> 
141                                    </p> 
142                                </div> 
143                            </#if> 
144 
145                            <#if button_label?hasContent && button_label.getData()?hasContent && button_label.button_url.getData()?hasContent> 
146                                <div class="pub-button-container"> 
147                                    <button type="button" 
148                                            onclick="window.location.href='${button_label.button_url.getData()}'">${button_label.getData()}</button> 
149                                </div> 
150                            </#if> 
151                        </div> 
152                    </div> 
153                </div> 
154            </div> 
155        </div> 
156 
157        <#if main_content.main_content_extended?hasContent && main_content.main_content_extended.getData()?hasContent> 
158            <div class="row"> 
159                <div class="col-md-10 offset-md-1"> 
160                    <div class="main-content-extended" style="display: none"> 
161                        ${main_content.main_content_extended.getData()} 
162                    </div> 
163                    <div class="generic-btn less-btn" style="display: none"> 
164                        <button class="bordered"><@liferay.language key="less" /></button> 
165                    </div> 
166                    <div class="generic-btn more-btn" style="display: block"> 
167                        <button class="bordered"><@liferay.language key="more" /></button> 
168                    </div> 
169                </div> 
170            </div> 
171        </#if> 
172    </div> 
173 
174    <#if video_code?hasContent && video_code.getData()?hasContent> 
175        <#assign thumbnailPath = abstract_image_medium.getData()> 
176 
177        <#if !thumbnailPath?hasContent> 
178            <#assign thumbnailPath = "//img.youtube.com/vi/${video_code.getData()}/hqdefault.jpg"> 
179        </#if> 
180 
181        <div class="container"> 
182            <div class="row-fluid"> 
183                <div class="event-video span12"> 
184                    <h2>Watch Live</h2> 
185                    <div class="video-clmn1"> 
186                        <div class="ytube-video-cntnr"> 
187                            <div class="play-button"></div> 
188                            <img class="video-thumbnail" src="${thumbnailPath}" 
189                                 alt="image" style="visibility: hidden"/> 
190                            <div class="ytube-video-id">${video_code.getData()}</div> 
191                        </div> 
192                    </div> 
193                </div> 
194            </div> 
195        </div> 
196    </#if> 
197 
198 
199    <#assign speakers = highriseWrapper.getPersonsList(speakersItems)> 
200 
201    <#if (speakers?size > 0)> 
202        <div class="generic-container container"> 
203            <div class="row"> 
204                <div class="event-speakers col-md-10 offset-md-1"> 
205                    <div class="event-speakers-title"> 
206                        <h2><@liferay.language key="speakers" /></h2> 
207                    </div> 
208 
209                    <div class="resource-links row"> 
210 
211                        <#list speakers as speaker> 
212                            <div class="resource-link-node col-md-6"> 
213                                <div class="speaker-link"> 
214                                    <div class="speaker-container"> 
215                                        <#if speaker.isHasBio()> 
216                                        <a href="/web/guest/profile?id=${speaker.getId()}&p_l_back_url=${themeDisplay.getURLCurrent()}"> 
217                                            </#if> 
218                                            <img class="speaker-image" src="${speaker.getImageCloseupURL()}"> 
219                                            <#if speaker.isHasBio()> 
220                                        </a> 
221                                        </#if> 
222 
223                                        <div class="speaker-label"> 
224                                            <#if speaker.isHasBio()> 
225                                            <a href="/web/guest/profile?id=${speaker.getId()}&p_l_back_url=${themeDisplay.getURLCurrent()}"> 
226                                                </#if> 
227                                                <div class="speaker-name">${speaker.getFirstName()} ${speaker.getLastName()}</div> 
228                                                <#if speaker.getCompanyName()?hasContent> 
229                                                    <div class="speaker-company">${speaker.getCompanyName()}</div> 
230                                                </#if> 
231                                                <div class="speaker-title">${speaker.getTitle()}</div> 
232                                                <#if speaker.isHasBio()> 
233                                            </a> 
234                                            </#if> 
235                                            <#if speaker.isHasBio()> 
236                                                <div class="speaker-bio"> 
237                                                    <a href="/web/guest/profile?id=${speaker.getId()}&p_l_back_url=${themeDisplay.getURLCurrent()}" 
238                                                       target="_blank" 
239                                                       class="adt-uppercase"><@liferay.language key="read-bio" /></a> 
240                                                </div> 
241                                            </#if> 
242                                        </div> 
243                                    </div> 
244                                </div> 
245                            </div> 
246                        </#list> 
247                    </div> 
248                </div> 
249            </div> 
250        </div> 
251    </#if> 
252 
253    <#if related_documents_label.related_documents_file?hasContent && 
254    related_documents_label.related_documents_file.getData()?hasContent> 
255 
256        <div class="generic-container"> 
257            <div class="related-docs row"> 
258                <div class="col-md-10 offset-md-1"> 
259 
260                    <div class="related-section-title"> 
261                        <h2><@liferay.language key="event-documents" /></h2> 
262                    </div> 
263 
264                    <#if related_documents_label.getSiblings()?hasContent> 
265                        <div class="row"> 
266                            <#list related_documents_label.getSiblings() as relatedDocumentsLabel> 
267                                <div class="related-result-row col-md-6"> 
268                                    <div class="related-row"> 
269                                        <div class="related-row-img"></div> 
270                                        <div class="related-row-content-wrapper"> 
271                                            <h3 class="related-row-title"><a 
272                                                        href="${relatedDocumentsLabel.related_documents_file.getData()}" 
273                                                        target="blank">${relatedDocumentsLabel.getData()}</a> 
274                                            </h3> 
275                                        </div> 
276                                    </div> 
277                                </div> 
278                            </#list> 
279                        </div> 
280                    <#else> 
281                        <div class="related-result-row"><@liferay.language key="err-msg-no-related-documents-found" /></div> 
282                    </#if> 
283                </div> 
284            </div> 
285        </div> 
286    </#if> 
287</div> 
288 
289<script> 
290    $(".more-btn,.less-btn").on('click', function () { 
291        $(".less-btn").toggle(); 
292        $(".more-btn").toggle(); 
293 
294        $(".main-content-extended").slideToggle(); 
295    }); 
296</script> 
297 
298<@printLegacyArticleUrl article /> 

Webcast Portlet

التطبيقات المتداخلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة

أصول ذات صلة