Themes
Themes allow you to save and restore groups of visual and event‑related settings from the admin panel.
Where to find it
- Open the admin panel.
- Go to the General section and look for the Themes card.
What gets saved
All inputs in the admin panel that are marked as theme‑relevant are saved when you create a theme. Typical examples include:
- Colors (primary, secondary, background, countdown, etc.)
- Background images and frames
- Event text and icon
- Logo visibility, path and position
- Startpage text placement such as
ui.startpage_text_position - Picture/collage specific appearance options (polaroid effect, text overlays, placeholders, …)
How themes are stored
Themes are stored as JSON files in private/themes.
- File name:
<theme-name>.theme.config.json - Format: grouped by category, similar to
my.config.inc.php, for example:
{
"ui": {
"startpage_text_position": "left-center"
},
"logo": {
"position": "top_right"
},
"event": {
"symbol": "fa-birthday-cake",
"textLeft": "Lisa & Tom",
"textRight": "01.01."
},
"colors": {
"primary": "#4a7c1f",
"secondary": "#6b8a55",
"background_countdown": "#eef4ea",
"countdown": "#5b7d4a"
},
"picture": {
"frame": "private/images/frames/birthday.png",
"extend_by_frame": "false"
},
"collage": {
"background_color": "#292035",
"take_frame": "once"
}
}
- Keys correspond to the configuration categories (for example
event,colors,picture,collage). - Inside each category, the keys match the setting names (for example
symbol,frame,background_color). - Startpage text positions support centered, left, and right placements across top, middle, and bottom. If the logo is enabled and centered, the runtime falls back to bottom center so both elements do not overlap.
Using themes
In the Themes card you can:
-
Save a theme
- Configure your settings in the admin panel.
- Enter a name in the theme name input.
- Click Save theme.
- A JSON file is created or updated in
private/themes.
-
Export a theme
- Select a theme from the dropdown.
- Click Export.
- A ZIP is downloaded containing:
private/themes/<theme-name>.theme.config.json- All files referenced by the theme (for example background images, frames, logos) from
private/andresources/. - The folder structure inside the ZIP preserves the paths relative to the project root.
-
Import a theme
- Click Import and choose a ZIP created by the export feature.
- The theme name is taken from the
.theme.config.jsonfilename inside the ZIP. - If a theme with the same name already exists, it is overwritten.
- The ZIP is unpacked into the project preserving its contained folder structure (only
private/andresources/are written). - The imported theme shows up in the dropdown and will be applied immediately.
-
Load a theme
- Select a theme from the dropdown.
- Click Load theme.
- All theme‑related fields are updated to the saved values.
-
Delete a theme
- Select a theme from the dropdown.
- Click Delete theme.
- The corresponding JSON file in
private/themesis removed.
Relation to my.config.inc.php
config/my.config.inc.php contains your current active configuration. Themes are templates that contain only the theme‑relevant parts of this configuration.
- Loading a theme updates the corresponding settings in the admin form.
- After loading a theme, you still have to save the configuration in the admin panel to write the values back to
my.config.inc.php.