Entête de page
Welcome to the museums
QuickLink (Découvrir, En ce moment, Visiter)
Asset Publisher
Asset Publisher
Asset Publisher
An error occurred while processing the template.
The following has evaluated to null or missing:
==> alt [in template "20116#20160#450079371" at line 32, column 59]
----
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: ${alt?html} [in template "20116#20160#450079371" at line 32, column 57]
----
1<#setting locale = locale />
2<#setting datetime_format="iso">
3<#if !themeDisplay.scopeGroup.publicLayoutSet.virtualHostname?has_content || themeDisplay.scopeGroup.isStagingGroup()>
4 <#assign homeURL = "/web${layout.group.friendlyURL}/" />
5<#else>
6 <#assign homeURL = "/" />
7</#if>
8<#assign portletHelper = serviceLocator.findService("eu.strasbourg.utils.api.PortletHelperService") />
9
10<section id="oeuvre">
11 <div class="content container">
12 <div class="infos">
13 <h2>${portletHelper.getPortletTitle('eu.museum.collection', renderRequest)}</h2>
14 <p><@liferay_ui.message key="eu.museum.collection.description" /></p>
15 <a href="https://musees-strasbourg.skin-web.org/" target="_blank" class="button1" aria-label="<@liferay_ui.message key="eu.museum.all-collection" /> (<@liferay_ui.message key="eu.new-window" />)" title="<@liferay_ui.message key="eu.museum.all-collection" /> (<@liferay_ui.message key="eu.new-window" />)"><@liferay_ui.message key="eu.museum.all-collection" /></a>
16 </div>
17 <#if entries?has_content>
18 <div id="listCollections" class="list">
19 <div class="gutter-sizer"></div>
20 <#list entries as curEntry>
21 <#if curEntry?has_content && curEntry.getAssetRenderer()?has_content && curEntry.getAssetRenderer().getArticle()?has_content>
22 <#assign content = strasbourg.buildFieldValues(curEntry.getClassPK()) />
23 <#assign image = content.image />
24 <#assign imageURL ="" />
25 <#if image?has_content>
26 <#assign imageURL = image.contentUrl />
27 <#assign alt = image.description />
28 </#if>
29 <#assign title = content.title />
30 <#assign link = content.link />
31 <a href="${link}" target="_blank" aria-label="${title?html} (<@liferay_ui.message key="eu.new-window" />)" title="${title?html} (<@liferay_ui.message key="eu.new-window" />)" class="oeuvre-thumbnail">
32 <img src="${imageURL}" alt="${alt?html}" title="${alt?html}" />
33 <div class="info">
34 <div class="title">
35 <span>${title}</span>
36 </div>
37 <div class="museums">
38 <#if curEntry.categories?first?has_content>
39 <#assign vocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
40 <span>
41 <#assign nbMusees = 0 />
42 <#list curEntry.categories as category>
43 <#assign vocabulary = vocabularyLocalService.getVocabulary(category.vocabularyId) />
44 <#if vocabulary.name == "Musées">
45 <#if nbMusees gt 0 >
46 ,
47 </#if>
48 ${category.getTitle(locale)}
49 <#assign nbMusees++ />
50 </#if>
51 </#list>
52 </span>
53 </#if>
54 </div>
55 </div>
56 </a>
57 </#if>
58 </#list>
59 </div>
60 </#if>
61 </div>
62</section>