Entête de page
Bienvenue dans les musées
QuickLink (Découvrir, En ce moment, Visiter)
Éditeur d'actif
En bref
Fermeture Musée Alsacien
Le Musée Alsacien a fermé ses portes le 7 juillet 2025 pour d'importants travaux, sa réouverture est prévue pour 2028.
Montage d'exposition
Le musée Tomi Ungerer sera fermé du 31 août au 17 septembre 2026 inclus.
Éditeur d'actif
Éditeur d'actif
Cette semaine dans les musées
Éditeur d'actif
Les expositions à découvrir
Éditeur d'actif
Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> alt [in template "20116#20160#420085032" 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#420085032" 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>