docs/themes.rst
.. _themes:
phpMyAdmin comes with support for third party themes. You can download additional themes from our website at https://www.phpmyadmin.net/themes/.
Themes are configured with :config:option:$cfg['ThemeManager'] and
:config:option:$cfg['ThemeDefault']. Under :file:./public/themes/, you should not
delete the directory pmahomme or its underlying structure, because this is
the system theme used by phpMyAdmin. pmahomme contains all images and
styles, for backwards compatibility and for all themes that would not include
images or css-files. If :config:option:$cfg['ThemeManager'] is enabled, you
can select your favorite theme on the main page. Your selected theme will be
stored in a cookie.
To create a theme:
./public/themes/.pmahomme to "your_theme_name"_variables.scss in "your_theme_name/scss"theme.json in "your_theme_name" to contain theme metadata (see below)Theme metadata ++++++++++++++
.. versionchanged:: 4.8.0
Before 4.8.0 the theme metadata was passed in the :file:`info.inc.php` file.
It has been replaced by :file:`theme.json` to allow easier parsing (without
need to handle PHP code) and to support additional features.
In theme directory there is file :file:theme.json which contains theme
metadata. Currently it consists of:
.. describe:: name
Display name of the theme.
**This field is required.**
.. describe:: version
Theme version, can be quite arbitrary and does not have to match phpMyAdmin version.
**This field is required.**
.. describe:: description
Theme description. this will be shown on the website.
**This field is required.**
.. describe:: author
Theme author name.
**This field is required.**
.. describe:: url
Link to theme author website. It's good idea to have way for getting
support there.
.. describe:: supports
Array of supported phpMyAdmin major versions.
**This field is required.**
For example, the definition for Original theme shipped with phpMyAdmin 4.8:
.. code-block:: json
{
"name": "Original",
"version": "4.8",
"description": "Original phpMyAdmin theme",
"author": "phpMyAdmin developers",
"url": "https://www.phpmyadmin.net/",
"supports": ["4.8"]
}
Sharing images ++++++++++++++
If you do not want to use your own symbols and buttons, remove the
directory "img" in "your_theme_name". phpMyAdmin will use the
default icons and buttons (from the system-theme pmahomme).