I am currently in the process of developing a product that we intend to white-label in the future. My main focus right now is finding the most efficient way to programmatically allow users to update basic design elements, such as header color, through their profile or settings form.
Key requirements include:
- Allowing users to update the logo (this feature is already implemented)
- Enabling users to customize basic design elements (e.g., header color, footer color, sidebar color) by overriding CSS styles
We have opted not to use ASP.Net Themes/Skins as they involve storing static themes locally. Instead, we plan to utilize CSS for overriding base styles and store these custom styles in the database.
Our initial strategy involves storing the CSS rules in a simple varchar field in the database and applying them to the Master Page during the Pre-Init event using "!" to ensure the overrides take precedence over the default styles. Is this approach optimal? If not, I am open to hearing suggestions on how to achieve this functionality.