Creare il proprio 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:
- Creare un file CSS da zero oppure copiare un tema esistente (ad esempio
blue-theme.css,dark-theme.csso un altro) dalla directoryassets/styles/e modificarlo. - Salvare il tema (ad esempio
custom-theme.css) nella directoryassets/styles/.
Passaggio 2: Abilitare il tema nell'elenco dei temi
Per rendere il tema personalizzato disponibile nel frontend, è necessario aggiungerlo all'elenco dei temi restituito dal metodo APP::getThemes().
A tale scopo, eseguire l'override del metodo ZBase::getThemes() all'interno della classe APP come segue:
- Aprire il file
include/classes/core/APP.phpe individuare la classeAPP:
class APP extends ZBase {
}
- All'interno della classe, prima della parentesi graffa di chiusura finale
}, aggiungere il metodo seguente:
public static function getThemes() {
return array_merge(parent::getThemes(), [
'custom-theme' => _('Custom theme')
]);
}
dove:
custom-theme- identificatore interno del tema, che deve corrispondere al nome del file CSS senza l'estensione.css;Custom theme- nome visualizzato che verrà mostrato nel frontend.
Per aggiungere più temi, elencarli nell'array, separando ogni voce con una virgola. La virgola 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')
]);
}
Passaggio 3: Modificare i 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
)
SELECT
MAX(graphthemeid) + 1,
'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'
FROM graph_theme;
Passaggio 4: Utilizzare il nuovo tema
Nel frontend di Zabbix, è possibile impostare questo tema come tema predefinito oppure selezionarlo in un profilo utente.