{ "messageId": "important-message-1", "headline": "Das ist eine Message-Box", "headlineTag": "h3", "subline": "mit Untertitel", "sublineTag": "h4", "copy": "Non ipsum nulla qui aliquip est reprehenderit. Ipsum cupidatat mollit magna ea laborum aute labore consequat enim eu pariatur officia dolore sint. Incididunt quis sit Lorem cillum est velit aute occaecat velit do et aliqua.", "link": { "label": "Mehr Informationen", "icon": "", "url": "#" }, "size": null, "style": null }
{ "messageId": "important-message-2", "copy": "Profitiere von den SAC Vorteilen <a href=\"#\">Mitglied werden</a>", "size": "compact" }
{ "messageId": "important-message-3", "copy": "Profitiere von den SAC Vorteilen <a href=\"#\">Mitglied werden</a>", "size": "compact", "style": "green" }
<div class="m-message-box{{#if size}} m-message-box--{{size}}{{/if}}{{#if style}} m-message-box--{{style}}{{/if}} is-closed" data-init="MessageBox" data-message-id="{{messageId}}"{{{moduleAttributes this}}}>
<div class="row">
<div class="columns small-12 medium-10 large-8">
{{#if headline}}
<{{headlineTag}} class="m-message-box__headline fs-h3">{{headline}}</{{headlineTag}}>
{{/if}}
{{#if subline}}
<{{sublineTag}} class="m-message-box__subline fs-h3-subline">{{subline}}</{{sublineTag}}>
{{/if}}
<div class="m-message-box__copy c-rich-text fs-copy">
{{{copy}}}
</div>
{{#if link}}
<div class="m-message-box__link-wrapper">
{{> modules/c018_label_with_icon/c018_label_with_icon link}}
</div>
{{/if}}
</div>
</div>
<button class="m-message-box__close c-button-text" data-js-binding="close" aria-hidden="true">
<svg class="m-message-box__close-icon svg">
<use xlink:href="{{@root.global.svgSprite}}#icon-x"></use>
</svg>
</button>
</div>
{ "global": { "lang": "de", "locale": "de-CH", "svgSprite": "/assets/media/svg/svg-sprite.svg", "transparentPixel": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", "season": "summer", "api": { "suisseAlpine": "https://dev.suissealpine.sac-cas.ch/api", "sacRouteDetail": "https://dev.web.sac-cas.ch/de/?type=1567765346410&tx_usersaccas2020_sac2020[routeId]=", "sacRoutePassTrough": "https://dev.web.sac-cas.ch/de/?type=1567765346411&tx_usersaccas2020_sac2020[routeId]=", "uploadProfileImage": "https://dev.web.sac-cas.ch/?eID=routing&route=usersaccassite/users/current/uploadProfileImage", "deleteProfileImage": "https://dev.web.sac-cas.ch/?eID=routing&route=usersaccassite/users/current/deleteProfileImage", "aimeosShop": "https://dev.web.sac-cas.ch/de/shop/shopapi/", "mailchimpForm": "https://sac-cas.us2.list-manage.com/subscribe/post?u=466a37a029f12e4df9e7a2a1f&id=ee3f0f3cf3", "collections": "https://collectionsdev.web.sac-cas.ch/api", "hrs": "https://www.alpsonline.org/hut-web-service?wsdl" }, "baseAimeosUploadPath": "https://dev.web.sac-cas.ch/uploads/tx_aimeos/", "mapIframeUrl": "/modules/m030_map/media/map_iframe.html", "baseDestinationLinkUrl": "/pages/destination_summit/destination_summit.html?", "destinationLinkRouteAnchor": "route", "baseJourneyLinkUrl": "https://dev.web.sac-cas.ch/de/redirect/google-maps-routing/lv03/", "routeCollectionLinkUrl": "https://dev.web.sac-cas.ch/de/mein-sac/uebersicht/", "hrsLinkUrl": "https://www.alpsonline.org/reservation/wizard?header=yes&hut_id={{hutId}}&selectedDate={{date}}", "schweizMobilImportUrl": "https://map.schweizmobil.ch/?showDialog=importcoordinates&showLogin&coordinates={{coordinates}}", "geologyImageUrl": "https://www.sac-cas.ch/fileadmin/Huetten_und_Touren/Tourenportal/Gesteinszonenkarten/Hovercard/{{image}}.jpg", "features": { "archive": true }, "translations": { "disciplines": { "mountain_hiking": "Berg- und Alpinwandern", "alpine_tour": "Hochtour", "climbing": "Klettern", "alpine_climbing": "Alpinklettern", "via_ferrata": "Klettersteig", "ski_tour": "Skitour", "snowshoe_tour": "Schneeschuhtour", "archive": "Routenarchiv" }, "types": { "summit": "Gipfel", "hut": "Hütte", "traverse": "Übergang", "marking_point": "Markanter Punkt", "departure_arrival": "Ausgangp./Talort", "climbing_area": "Klettergebiet" }, "markingPoints": { "lake": "See", "catering": "Einkehr", "waterfall": "Wasserfall", "cave": "Höhle", "bridge": "Brücke", "alp": "Alpe", "other": "Sehenswürdigkeit" }, "difficulties": { "alpine_tour": { "L": "L", "WS": "WS", "ZS": "ZS", "S": "S", "SS": "SS", "AS": "AS" }, "ski_tour": { "L": "L", "WS": "WS", "ZS": "ZS", "S": "S", "SS": "SS", "AS": "AS" } }, "altitudeSuffix": "m ü.M.", "altitudeDifferenceUnit": "hm", "hoursUnit": "h", "difficulty": "Schwierigkeit", "ascent": "Aufstieg", "descent": "Abstieg", "route": "Route", "routes": "Routen", "segment": "Routenabschnitt", "segments": "Routenabschnitte", "approach": "Zustieg", "approaches": "Zustiege", "sector": "Sektor", "sectors": "Sektoren", "hut": "Hütte", "hutPrivate": "Hütte Privat", "hutFilter": "Hüttenfinder", "situationWarning": "Zustandswarnung", "protectionRule": "Schutzbestimmung", "archiveRoute": "Archivroute", "archiveRoutes": "Archivrouten", "map": { "map": "Karte", "legend": "Legende", "zoomIn": "Reinzoomen", "zoomOut": "Rauszoomen", "enterFullscreenMode": "Vollbildmodus starten", "leaveFullscreenMode": "Vollbildmodus verlassen", "searchLabel": "Region, Gipfel, Hütte, Talort, POI, …", "disciplineSettings": "Disziplinen Einstellungen", "layerSettings": "Ergänzende Kartenebenen", "geolocate": "Lokalisieren", "searchInView": "In diesem Gebiet suchen", "waypointDrawing": "Auf Karte zeichnen", "drawWaypoints": "Route zeichnen", "removeWaypoints": "Route löschen", "exportWaypoints": "GPX downloaden", "saveInSchweizMobil": "Speichern|SchweizMobil Plus", "moreInFullscreen": "Entdecke weitere Funktionen auf der Vollbildkarte:<br>- Zeichne deine eigenen Tracks", "baseLayers": { "pois": "Tourenziele, Hütten", "routes": "Routen" }, "additionalLayers": { "summer": "Sommer", "winter": "Winter", "hikingTrails": "Wanderwege", "closedHikingTrails": "Gesperrte Wanderwege", "wildlifeReserves": "Wildschutzgebiete", "skiTours": "swisstopo Skitouren", "designatedWildlifeAreas": "Wildruhezonen", "publicTransportStops": "ÖV-Stationen", "slopesOver30": "Hangneigung ab 30°", "protectionRules": "Schutzbestimmungen", "situationWarnings": "Zustandswarnungen", "geology": "Gesteinszonenkarte", "alpGuardDogs": "Herdenschutzhunde", "armyShooting": "Schiessanzeigen", "snowCover": "Schneeabdeckung", "snowDepth": "Schneehöhe" }, "layerOpacity": "Deckkraft aktiver Karten", "foregroundOpacity": "Deckkraft aktiver Disziplinen und Hütten", "backgroundOpacity": "Deckkraft inaktiver Disziplinen und Hütten", "reset": "Zurücksetzen" }, "mapHoverCard": { "publicTransport": "Öffentlicher Verkehr", "parkingInformations": "Parkinformationen", "planJourneyPublicTransport": "Anreise", "searchPublicTransport": "Verbindung suchen (SBB)", "planJourneyCar": "Anreise Google Maps", "downloadWaypoint": "Wegpunkt downloaden", "routeLinkLabel": "Route ansehen", "wildlifeReserve": "Wildschutzgebiet", "wildlifeArea": "Wildruhezone", "closedHikingTrail": "Sperrung / Umleitung Wanderweg", "alpGuardDogs": "Alpweide geschützt durch Herdenschutzhunde", "armyShooting": "Schiessanzeige und Gefahrenstelle", "legalBasis": "Grundlage", "additionalInformation": "Zusatzinformationen", "showDetails": "Details anzeigen", "moreOnMapAdminCh": "Mehr Informationen auf map.admin.ch", "currentSnowDepth": "Aktuelle Schneehöhe" }, "protectionArea": { "lastUpdated": "zuletzt aktualisiert am {{lastUpdate}}", "validity": "gültig von {{validFrom}} bis {{validUntil}}", "validityEstimated": "gültig von {{validFrom}} bis voraussichtlich {{validUntil}}", "validFrom": "gültig ab {{validFrom}}", "validUntil": "gültig bis {{validUntil}}", "validUntilEstimated": "gültig bis voraussichtlich {{validUntil}}", "generallyValid": "generell gültig" }, "collections": { "addRouteToCollection": "Route merken", "selectCollection": "Merkliste auswählen", "selectRoute": "Welche Route(n) dieses Tourenziels möchtest du dir merken?", "selectRouteError": "Bitte wähle eine Route aus.", "addToCollection": "Merken", "cancel": "Abbrechen", "routeAddedToCollection": "Die ausgewählte Route(n) wurden zu deiner Merkliste hinzugefügt.", "createNew": "Neue Liste", "close": "Schliessen", "goToCollection": "Zur Merkliste", "alreadyCollectedIn": "Bereits gemerkt auf" } }, "basePublicTransportLinkUrl": "https://www.sbb.ch/en/buying/pages/fahrplan/fahrplan.xhtml?language=en&nach=", "snowDepthInfoUrl": "https://www.sac-cas.ch", "snowCoverInfoUrl": "https://www.sac-cas.ch", "destinationFallbackImages": { "summit": { "srcset": { "sizeList": [ [ 600 ], [ 1200 ], [ 2048 ] ], "urlList": [ "/modules/c015_teaser_destination/media/summit_600.jpg", "/modules/c015_teaser_destination/media/summit_1200.jpg", "/modules/c015_teaser_destination/media/summit_2048.jpg" ] } }, "hut": { "srcset": { "sizeList": [ [ 600 ], [ 1200 ] ], "urlList": [ "/modules/c015_teaser_destination/media/hut_600.jpg", "/modules/c015_teaser_destination/media/hut_1200.jpg", "/modules/c015_teaser_destination/media/hut_2048.jpg" ] } } }, "map": { "news": [ { "label": "Neu", "copy": "Jetzt auch <b>GPX downloaden</b>", "type": "waypointDrawing" }, { "label": "Neu", "copy": "Jetzt Deckkraft für jede Ebene einstellbar", "type": "layerSettings" } ], "metaLinkList": [ { "url": "https://www.swisstopo.admin.ch/", "label": "© swisstopo (5701325910)" }, { "url": "/pages/map_legend/map_legend.html", "label": "Hilfe & Legende" }, { "url": "#", "label": "Haftungsausschluss" } ] } } }
Ein Modul, in dem wichtige Hinweise für den Nutzer angezeigt werden können.
Das Modul ist bereits eine l-box
und kann nur auf der Hauptebene als direktes Child von l-wrapper
platziert werden.
Jede Message Box wird so lange angezeigt, bis sie aktiv geschlossen wurde. Message Boxes mit anderer oder neuer messageId
werden weiterhin angezeigt, bis auch diese aktiv geschlossen wurden. Der Cookie läuft nach 10 Tagen ab, kann darüberhinaus aber auch vom Backend verwaltet werden.
Der Cookie wird als JSON-String unter dem Namen message-box
in folgender Struktur abgespeichert:
{
"message-box":{
"closedMessages":{
"important-message-1":{
"timestamp":1485591214508
},
"important-message-2":{
"timestamp":1485591218000
}
}
}
}
Durch Anhängen von ?no-storage
an die URL wird die Cookie Funktionalität deaktiviert und die Message Box erscheint auch nach dem Schließen bei jedem Seitenaufruf.