I would like to allow administrative users to simply theme their own website (a re-deployable charity website built in php in the back end). I certainly don't know what the ideal approach would be, but my naive concept of how to do it is like this:
- Create a theme.css file that is dynamically generated, and overloads the colors and background images of the main css of the site. No sizes or positions get changed.
- Allow users to select different named css colors, from the full css spec for named colors, e.g. darkred, crimson, chartreuse, chocolate, etc.
- Allow user to select different images to certain appropriate-for-theming background images.
- Replace the default colors set in theme.css with the user preferred colors, and the default background images with the user specified background images.
- Serve the dynamically created theme.css file on the server side.
So that's my naive idea of how to do it. My main two worries are how potentially breakable dynamic css fields for colors might be, and how inevitably breakable switch-out-able images might be if any kind of custom images are allowed. Are there better, less breakable tools & techniques out there for simplified administrative theming that I should pursue instead?