# Header-Templates

## Einleitung

Header-Templates sind HTML-Dateien, die einige Makros enthalten. Diese Dateien können als Header-Menü in den Maps benutzt werden. Die Header-Templates sind im Verzeichnis `share/userfiles/templates/pages/` relativ zum NagVis-Root-Verzeichnis abgelegt. Die Template sind wie folgt benannt: `*.header.html`.
ACHTUNG: Seit NagVis 1.5 hat sich das Format der Templates geändert, um flexibler sein zu können. Das bedeutet, dass bei einer Umstellung von einer älteren Version alle Templates angepasst werden müssen.

## Makros

Die folgenden Makros sind in den Header-Menüs verfügbar:

Makro | Beschreibung
--- | ---
{currentMap} (war [current_map]) | Name der aktuellen Map (z.B. demo,demo2)
{currentMapAlias} (war [current_map_alias]) | Alias der aktuellen Map
{currentLanguage} (war [current_language]) | Zeichenkette, die die aktuell eingestellte Sprache enthält (z.B. de_DE). Dies wird für den Verweis auf die Dokumentation benötigt.
{$currentUser} | Name des aktuellen Benutzers.
{$mod} | Das aktuelle Modul (Map, AutoMap, Overview, Welcome, ...).
{$act} | Die aktuelle Aktion (view, edit, ...).
{$bRotation} | Ist "true" wenn gerade eine Rotation betrachtet wird, sonst "false"..
{$permittedOverview} | Ist "true", wenn der Benutzer für die Übersichtsseite berechtigt ist, sonst "false"..
{$permittedEdit} | Ist "true", wenn der Benutzer die aktuelle Map editieren darf, sonst "false"..
{$permittedEditAnyMap} | Ist "true",wenn der Benutzer mindestens eine Map editieren darf, sonst "false"..
{$permittedChangePassword} | Ist "true", wenn der Benutzer berechtigt ist, sein eigenes Passwort zu ändern, sonst "false"..
{$permittedEditMainCfg} | Ist "true", wenn der Benutzer berechtigt ist, die Hauptkonfigurationsdatei zu ändern, sonst "false"..
{$permittedManageBackgrounds} | Ist "true", wenn der Benutzer berechtigt ist, Hintergründe zu verwalten, sonst "false"..
{$permittedManageMaps} | Ist "true", wenn der Benutzer berechtigt ist, Maps zu verwalten, sonst "false"..
{$permittedManageShapes} | Ist "true", wenn der Benutzer berechtigt ist, Shapes zu verwalten, sonst "false"..
{$permittedUserMgmt} | Ist "true", wenn der Benutzer berechtigt ist, Benutzerkonten zu verwalten, sonst "false"..
{$permittedRoleMgmt} | Ist "true", wenn der Benutzer berechtigt ist, Benutzerrollen zu verwalten, sonst "false"..
{$permittedLogout} | Ist "true", wenn der Benutzer berechtigt ist, sich abzumelden, sonst "false"..
{$supportedChangePassword} | Ist "true", wenn das aktuelle Authentifizierungsmodul das Ändern von Passwörtern unterstützt, sich abzumelden, sonst "false"..

{foreach $maps map}
{$map.mapName}
{/foreach}

Eine Liste aller Maps, die in NagVis definiert sind. Der Code zwischen `{foreach $maps map}` und `{/foreach}` wird für jede Map ausgeführt. Ein Beispiel finden Sie in `share/userfiles/templates/pages/default.header.html`.
Innerhalb der BEGIN/END-Tags sind die folgenden Makros verfügbar:
* {$map.mapName} (war [map_name]): Name der Map
* {$map.mapAlias} (war [map_alias]): Alias der Map
* {$map.permittedEdit}: Ist der Benutzer zur Änderung dieser Map berechtigt?

{foreach $langs lang}
{$lang.language}
{/foreach}

Eine Liste aller Sprachen, die für die Benutzer verfügbar sind. Der Code zwischen `{foreach $langs lang}` und `{/foreach}` wird für jede Sprache ausgeführt. Ein Beispiel finden Sie in `share/userfiles/templates/pages/default.header.html`.
Innerhalb der BEGIN/END-Tags sind die folgenden Makros verfügbar:
* {$lang.language}: Interner Name der Sprache
* {$lang.classUnderline}: Unterstreichen der Sprache
* {$lang.langLanguageLocated}: Gefundener Name der Sprache.

{if $viewType == 'Map' || $viewType == 'Automap'} | Um in den Templates flexibler zu sein, haben wir eine Art von "if"-Statement hinzugefügt. Es kann wie in PHP benutzt werden. Ein Beispiel finden Sie in `share/userfiles/templates/pages/default.header.html`..
{$pathBase} (war [html_base]) | URL zur HTML-Basis (/nagvis)
{$pathImages} (war [html_images]) | URL zu den HTML-Images (/nagvis/images)
{$pathHeaderJs} | Pfad zur Header-spezifischen JavaScript-Datei
{$pathTemplates} (war [html_templates]) | Pfad zu den Header-Templates (/nagvis/userfiles/templates)
{$pathTemplateImages} (war [html_template_images]) | Pfad zu den Header-Template-Images (/nagvis/userfiles/images/templates)
{$langOpen} (war [lang_select_map]) | Label für das Öffnen neuer Ansichten
{$langEditMap} (war [lang_edit_map]) | Label zum Editieren einer Map
{$langNeedHelp} (war [lang_need_help]) | Label für Hilfe-Auswahl
{$langOnlineDoc} (war [lang_online_doc]) | Label für den Link zur Online-Dokumentation
{$langForum} (war [lang_forum]) | Label für den Link zum NagVis-Forum
{$langSupportInfo} (war [lang_support_info]) | Label für den Link zu Support-Informationen
{$langOverview} (war [lang_overview]) | Label für Überblick
{$langInstance} (war [lang_instance]) | Label für den Instanznamen
{$langRotationStart} (war [lang_rotation_start]) | Label zum Starten der Map-Rotation
{$langRotationStop} (war [lang_rotation_stop]) | Label zum Stoppen der Map-Rotation
{$langSearch} | Label für das Suchen von Objekten auf der Map.
{$langToggleGrid} | Label für das De/Aktivieren des Rasters.
{$langActions} | Label für die Auswahl verfügbarer Aktionen.
{$langUser} | Label für den Benutzer.
{$langLoggedIn} | Label für "Logged in as".
{$langChangePassword} | Label für das Ändern des Benutzer-Passworts.
{$langUserMgmt} | Label für die Verwaltung der Benutzer.
{$langManageRoles} | Label für die Verwaltung der Rollen.
{$langLogout} | Label für das Abmelden des Benutzers.
{$langChooseLanguage} | Label für die Auswahl der Benutzer-Sprache.