# 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 `nagvis/etc/templates/header/` relativ zum NagVis-Root-Verzeichnis abgelegt. Die Template sind wie folgt benannt: `tmpl.*.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 (Neu in 1.5).
{$mod} | Das aktuelle Modul (Map, AutoMap, Overview, Welcome, ...) (Neu in 1.5).
{$act} | Die aktuelle Aktion (view, edit, ...) (Neu in 1.5).
{$bRotation} | Ist "true" wenn gerade eine Rotation betrachtet wird, sonst "false". (Neu in 1.5).
{$permittedOverview} | Ist "true", wenn der Benutzer für die Übersichtsseite berechtigt ist, sonst "false". (Neu in 1.5).
{$permittedEdit} | Ist "true", wenn der Benutzer die aktuelle Map editieren darf, sonst "false". (Neu in 1.5).
{$permittedEditAnyMap} | Ist "true",wenn der Benutzer mindestens eine Map editieren darf, sonst "false". (Neu in 1.5).
{$permittedChangePassword} | Ist "true", wenn der Benutzer berechtigt ist, sein eigenes Passwort zu ändern, sonst "false". (Neu in 1.5).
{$permittedUserMgmt} | Ist "true", wenn der Benutzer berechtigt ist, Benutzerkonten zu verwalten, sonst "false". (Neu in 1.5).
{$permittedRoleMgmt} | Ist "true", wenn der Benutzer berechtigt ist, Benutzerrollen zu verwalten, sonst "false". (Neu in 1.5).
{$permittedLogout} | Ist "true", wenn der Benutzer berechtigt ist, sich abzumelden, sonst "false". (Neu in 1.5).
{$supportedChangePassword} | Ist "true", wenn das aktuelle Authentifizierungsmodul das Ändern von Passwörtern unterstützt, sich abzumelden, sonst "false". (Neu in 1.5).

{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.urlParams}: Spezielle Parameter, die an das NagVis-Frontend übergeben werden.
* {$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`. (Neu in 1.5).
{pathBase} (war [html_base]) | URL zur HTML-Basis (/nagvis)
{pathImages} (war [html_images]) | URL zu den HTML-Images (/nagvis/images)
{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 (Neu in 1.5).
{langToggleGrid} | Label für das De/Aktivieren des Rasters (Neu in 1.5).
{langActions} | Label für die Auswahl verfügbarer Aktionen (Neu in 1.5).
{langWui} | Label für die WUI (Neu in 1.5).
{langUser} | Label für den Benutzer (Neu in 1.5).
{langLoggedIn} | Label für "Logged in as" (Neu in 1.5).
{langChangePassword} | Label für das Ändern des Benutzer-Passworts (Neu in 1.5).
{langUserMgmt} | Label für die Verwaltung der Benutzer (Neu in 1.5).
{langRoleMgmt} | Label für die Verwaltung der Rollen (Neu in 1.5).
{langLogout} | Label für das Abmelden des Benutzers (Neu in 1.5).
{langChooseLanguage} | Label für die Auswahl der Benutzer-Sprache (Neu in 1.5).