The design of the backend can be customized in two ways:
- Defining some global YAML configuration options, which is enough for simple backends (as explained in this chapter).
- Overriding the default templates and fragments used to render the backend, which is useful for very complex backends (as explained in the following chapters).
General design options are defined under the design YAML key.
Define the brand_color option to change the default blue color used by the
backend interface:
easy_admin:
design:
brand_color: '#1ABC9C'
# ...The value of the brand_color option can use any of the valid CSS color formats:
easy_admin:
design:
brand_color: 'red'
brand_color: 'rgba(26, 188, 156, 0.85)'
brand_color: 'hsl(0, 100%, 50%);'
# ...By default, backend interface uses a dark color scheme, which is the most common
choice for admin applications. If you prefer a lighter alternative, add the
color_scheme option with the light value:
easy_admin:
design:
# 'dark' is the default value
color_scheme: 'light'
# ...Complex backends may require to load custom CSS nad JavaScript files. Add the
assets option to define the paths of the web assets to load in the backend
layout. All kinds of assets are supported and linked accordingly:
easy_admin:
design:
assets:
css:
# HTTP protocol-relative URL
- '//example.org/css/admin1.css'
# absolute non-secure URL
- 'http://example.org/css/admin2.css'
# absolute secure URL
- 'https://example.org/css/admin3.css'
# absolute internal bundle URL
- '/bundles/acmedemo/css/admin4.css'
# relative internal bundle URL
- 'bundles/app/css/admin5.css'
js:
# this option works exactly the same as the 'css' option
- '//example.org/js/admin1.js'
- 'http://example.org/js/admin2.js'
- 'https://example.org/js/admin3.js'
- '/bundles/acmedemo/js/admin4.js'
- 'bundles/app/js/admin5.js'
# ...Every backend page applies some id and class attributes to its <body>
element. The id attribute allows you to target specific entity instances and
its value follows this pattern:
| View | <body> ID attribute |
|---|---|
edit |
easyadmin-edit-<entity_name>-<entity_id> |
list |
easyadmin-list-<entity_name> |
new |
easyadmin-new-<entity_name> |
show |
easyadmin-show-<entity_name>-<entity_id> |
The class attribute allows you to target entire sections of the backend and
their values follow these patterns:
| View | <body> CSS class |
|---|---|
edit |
easyadmin edit edit-<entity_name> |
list |
easyadmin list list-<entity_name> |
new |
easyadmin new new-<entity_name> |
show |
easyadmin show show-<entity_name> |
A nice trick for backends is to change their favicon to better differentiate the backend from the public website (this is specially useful when opening lots of tabs in your browser).
If you want to apply this technique to your backends, create the favicon image
(using any common format: .ico, .png, .gif, .jpg) and set the favicon
option:
easy_admin:
design:
assets:
favicon: '/assets/backend/favicon.png'
# ...The value of the favicon option is used as the value of the href attribute
of the <link rel="icon"> element in the backend's layout.
If your favicon uses an uncommon graphic format, you must define both the path
of the favicon and its mime_type:
easy_admin:
design:
assets:
favicon:
path: '/assets/backend/favicon.xxx'
mime_type: 'image/xxx'
# ...← Chapter 1. General Configuration | Chapter 3. List, Search and Show Views Configuration →

