8 Создание своей темы
Обзор
По умолчанию Zabbix предоставляет ряд предопределенных тем веб-интерфейса. Чтобы создать пользовательскую тему, выполните пошаговую процедуру, приведенную здесь.
Шаг 1: Создайте свою тему
Чтобы создать собственную тему:
- Создайте CSS-файл с нуля или скопируйте существующую тему (например,
blue-theme.css,dark-theme.cssили другую) из каталогаassets/styles/и измените ее. - Сохраните свою тему (например,
custom-theme.css) в каталогеassets/styles/.
Шаг 2: Включите вашу тему в список Theme
Чтобы сделать вашу пользовательскую тему доступной во веб-интерфейсе, необходимо добавить ее в список тем, возвращаемый методом APP::getThemes().
Это делается путем переопределения метода ZBase::getThemes() внутри класса APP следующим образом:
- Откройте файл
include/classes/core/APP.phpи найдите классAPP:
class APP extends ZBase {
}
- Внутри класса, перед его последней закрывающей фигурной скобкой
}, добавьте следующий метод:
public static function getThemes() {
return array_merge(parent::getThemes(), [
'custom-theme' => _('Custom theme')
]);
}
где:
custom-theme- внутренний идентификатор вашей темы, который должен совпадать с именем файла CSS без расширения.css;Custom theme- отображаемое имя, которое вы увидите во веб-интерфейсе.
Чтобы добавить несколько тем, перечислите их в массиве, разделяя каждый элемент запятой. Запятая после последнего элемента необязательна.
Например:
public static function getThemes() {
return array_merge(parent::getThemes(), [
'custom-theme' => _('Custom theme'),
'anothertheme' => _('Another theme'),
'onemoretheme' => _('One more theme')
]);
}
Изменение цветов графика
Чтобы изменить цвета графика, в таблицу базы данных graph_theme необходимо добавить запись для новой темы.
Пример добавления записи в базу данных 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'
);
Шаг 3: Используйте новую тему
В веб-интерфейсе Zabbix вы можете либо установить эту тему как тему по умолчанию, либо выбрать ее в профиле пользователя.