Ciao _Mich,
il CMS gestisce progetti di varia natura (software, nuova linea componenti moto, ecc.).
Alcuni stili di default caratterizzano in modo comune tutti i progetti gestiti, ad esempio tutti hanno stesso colore di sfondo per il body.
Alcuni elementi, quali ad esempio il logo e/o banner aziendale, devono poter essere personalizzabili.
Quando un progetto viene creato sarà privo di logo e l'header avrà un colore standard per lo sfondo (#CCCDDD). L'utente tramite esegue l'upload delle proprie immagini e queste andranno applicate alle aree "sensibilli" nell'header.
Quindi inizialmente il file CSS per l' header sarà:
codice:
.header
{
color: black;
display:block;
/*Questa la regola che contiene valori personalizzabili */
background: #CCCDDD url(/img/Transparent.png) top left no-repeat;
}
Al momento la soluzione consiste nell'avere una tabella DB i valori che l'utente ha modificato (colore sfondo, immagine azienda, ecc.). La struttura HTML dell'header viene costruita da code behind (C#) e per gli elementi personalizzabili vengono inseriti degli attributi inline:
codice:
headerDiv.BackColor = dt.Rows[0]["HeaderBgrColor"];
headerDiv.BackImageUrl = dt.Rows[0]["HeaderBgrImgURL"];
Tale approccio mi pare coincida con il tuo terzo suggerimento, posso quindi pensare possa andare bene o vi è una via migliore?
Spero di aver descritto con maggiore chiarezza lo scenario.
Grazie di nuovo per i tuoi suggerimenti _Mich.