8 Creare il tuo tema

Panoramica

Per impostazione predefinita, Zabbix fornisce una serie di temi frontend predefiniti. Per creare un tema personalizzato, seguire la procedura passo passo fornita qui.

Passaggio 1: Creare il tema

Per creare il proprio tema:

  1. Creare un file CSS da zero oppure copiare un tema esistente (ad esempio blue-theme.css, dark-theme.css o un altro) dalla directory assets/styles/ e modificarlo.
  2. Salvare il tema (ad esempio custom-theme.css) nella directory assets/styles/.
Passo 2: Abilita il tuo tema nell'elenco dei temi

Per rendere disponibile il tuo tema personalizzato nel frontend, devi aggiungerlo all'elenco dei temi restituito dal metodo APP::getThemes(). Questo si ottiene sovrascrivendo il metodo ZBase::getThemes() all'interno della classe APP come segue:

  1. Apri il file include/classes/core/APP.php e individua la classe APP:
class APP extends ZBase {

}
  1. All'interno della classe, prima della parentesi graffa di chiusura finale }, aggiungi il seguente metodo:
public static function getThemes() {
          return array_merge(parent::getThemes(), [
              'custom-theme' => _('Custom theme')
          ]);
}

dove:

  • custom-theme - è l'identificatore interno del tuo tema e deve corrispondere al nome del file CSS senza l'estensione .css;
  • Custom theme - è il nome visualizzato che vedrai nel frontend.

Per aggiungere più temi, elencali nell'array, separando ogni voce con una virgola. Una virgola finale dopo l'ultima voce è facoltativa.

Ad esempio:

      public static function getThemes() {
          return array_merge(parent::getThemes(), [
              'custom-theme' => _('Custom theme'),
              'anothertheme' => _('Another theme'),
              'onemoretheme' => _('One more theme')
          ]);
      }
Modifica dei colori dei grafici

Per modificare i colori dei grafici, è necessario aggiungere un record per il nuovo tema alla tabella del database graph_theme.

Esempio di aggiunta di un record a un database MySQL/MariaDB:

    mysql -u zabbix -p
    # Enter password:
mysql> USE zabbix;
mysql> INSERT INTO graph_theme (
    graphthemeid,
    theme,
    backgroundcolor,
    graphcolor,
    gridcolor,
    maingridcolor,
    gridbordercolor,
    textcolor,
    highlightcolor,
    leftpercentilecolor,
    rightpercentilecolor,
    nonworktimecolor,
    colorpalette
)
VALUES (
    5,
    'custom-theme',
    'FFFFFF',
    'FFFFFF',
    'CCD5D9',
    'ACBBC2',
    'ACBBC2',
    '1F2C33',
    'CC745E',
    '5ECCAB',
    'CC745E',
    'EBEBEB',
    '329F7E,C2583D,346D91,B26E44,CC6C91,7A6DC2,C4AA56,7C2731,BF75B8,73A350,B04833,633A60,879CCC,7FAD6C,324978,3F5C3D,795C94,D66B58,732230,809C5D,C79DD1'
);
Passaggio 3: Usa il nuovo tema

Nel frontend di Zabbix, puoi impostare questo tema come tema predefinito oppure selezionarlo in un profilo utente.