8 Crear el vostre propi tema

Vista general

Per defecte, Zabbix ofereix una sèrie de temes predefinits. Podeu seguir el procediment passa per passa indicada aquí per crear-ne un de vostre.

Passa 1: Creeu el vostre tema

Per crear el vostre propi tema:

  1. Creeu un fitxer CSS des de zero o copieu un tema existent (com ara blue-theme.css, dark-theme.css, o un altre) del directori assets/styles/ i modifiqueu-lo.
  2. Deseu el tema (per exemple, custom-theme.css) al directori assets/styles/.
Passa 2: Activeu el tema a la llista de temes

Per fer que el tema personalitzat sigui disponible a la interfície, haureu d'afegir-lo a la llista de temes retornats pel mètode APP::getThemes(). Això es fa anul·lant el mètode ZBase::getThemes() dins de la classe APP de la següent manera:

  1. Obriu el fitxer include/classes/core/APP.php i localitzeu la classe APP:
class APP extends ZBase {

}
  1. A l'interior de la classe, abans del seu tancament final, afegiu el següent mètode:
public static function getThemes() {
          return array_merge(parent::getThemes(), [
              'custom-theme' => _('Custom theme')
          ]);
}

on:

  • custom-theme - l'identificador intern del seu tema i ha de coincidir amb el nom del seu arxiu CSS sense l'extensió .css;
  • custom-theme - el nom de visualització que veureu a la interfície.

Per afegir diversos temes, llisteu-los a la matriu, separant cada entrada amb una coma. Opcionalment podeu posar una coma posterior després de la darrera entrada.

Per exemple:

      public static function getThemes() {
          return array_merge(parent::getThemes(), [
              'custom-theme' => _('Custom theme'),
              'anothertheme' => _('Another theme'),
              'onemoretheme' => _('One more theme')
          ]);
      }
Canviar els colors del gràfic

Per canviar els colors del gràfic, s'ha d'afegir un registre del tema nou a la taula de base de dades graph_theme.

Exemple d'afegir un registre a una base de dades 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'
);
Passa 3

A la interfície Zabbix, podeu definir el tema per defecte o canviar el vostre tema al perfil d'usuari.