# Kontext-Templates

## Einleitung

Kontext-Templates sind HTML-Dateien, die u.a. Makros enthalten. Dieses Dateien können als Kontextmenüs ("Rechtsklick"-Menüs) für die Objekte auf der Map benutzt werden.

Die Kontextmenüs befinden sich in `nagvis/templates/context/` relativ zum NagVis-Root-Verzeichnis. Die Templates sind wie folgt benannt: `tmpl.<name>.html`. Es ist möglich, eine CSS-Datei zum Template hinzuzufügen, der Name lautet dann: `tmpl.<name>.css`.

Es gibt einige sogenannte Makros in Kontextmenüs, die für alle Objekte verfügbar sind, und einige, die nur für spezielle Makros gelten. Alle Standardmakros sind nachfolgend aufgeführt.

## Allgemeines

Die folgenden Makros sind in Hover-Menüs für alle Objekttypen verfügbar:

Makro | Beschreibung
--- | ---
Allgemein
[obj_id] | ID des Objekts in JavaScript. Wird benötigt, um die objektspezifischen Teile zu lokalisieren, z.B. für eine manuelle Aktualisierung einer Statusinformation.
[name] | Name des Objekts (Hostname, Hostgroupname, Servicegroupname, Mapname,...)
[custom_1] | Das erste benutzerdefinierte Makro je Backend. Kann nützlich sein, um Backend-spezifische URLs zu setzen.
[custom_2] | Zweites benutzerdefiniertes Makro je Backend (s.o.).
[custom_3] | Drittes benutzerdefiniertes Makro je Backend (s.o.).
Sprachmakros
[lang_refresh_status] | Bezeichnung für die Auffrischung des Zustands des Objekts im Frontend.
[lang_schedule_downtime] | Bezeichnung für die Planung einer Ausfallzeit in Nagios.
[lang_reschedule_next_check] | Bezeichnung für die erneute Planung der nächsten Prüfung des Objekts in Nagios.
Pfade
[html_base] | Absolute URL zur HTML-Basis (Default: /nagios/nagvis)
[html_cgi] | Absolute URL zu den Nagios-CGIs. Benutzt einen objektabhängigen Wert. Hängt vom verwendeten Backend ab. Wird kein backend-spezifischer Wert gesetzt, gilt der Default. (Default: /nagios/cgi-bin)
[html_templates] | Pfad zum Context-Templates-Verzeichnis (Default: /nagios/nagvis/nagvis/etc/templates/context)
[html_template_images] | Pfad zum Context-Template-Images-Verzeichnis (Default: /nagios/nagvis/nagvis/images/templates/context)

## Spezielle Makros

Es gibt Makros für Context-Templates eines bestimmten Typs. Diese Makros sollten zwischen "Section"-Makros stehen. Die "Section"-Makros definieren, dass der eingeschlossene Code entfernt wird, wenn das Hover-Template nicht für diesen Typ geparst wird.

Ein "Section"-Makro für Host-Makros sieht wie folgt aus:

    <!-- BEGIN host -->.+?<!-- END host -->

Nachfolgend finden Sie eine vollständige Liste der speziellen Makros.

### Service-Objekte

Makro | Beschreibung
--- | ---
[service_description] | Service-Beschreibung in Nagios