Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come usare file CSS per rendere alcuni elementi personalizzabili?

    Salve,

    ho definito lo stile di default di un portale CMS utilizzando diversi file CSS. Sono stati creati anche ulteriori file CSS per consentire di impostare stili differenti.

    Ora si vuole fornire all'utente anche la possibilità di impostare dinamicamente il proprio logo, scegliere colore dell'header in base a questo, ecc.

    Come posso impostare dinamicamente alcuni parametri (come ad esempio l'URL per l'immagine del logo o il font per il titolo nell'header) per alcuni elementi che vengono definite nei file CSS dato che per quello che so, CSS non permette questo aspetto "dinamico".

    Inizialmente mi è venuta come idea, quella di creare una funzione (uso C#) che restituisse i tag che compongono l'header e tutti i suoi elementi figli. In tal modo, tramite query SQL, potrei popolare dinamicamente quei campi che si intende rendere singolarmente personalizzabili dall'utente senza dover cambiare lo stile generale.

    Sapresti consigliarmi a riguardo?
    Vi ringrazio in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dovresti pero` spiegare come funziona il CMS, altrimenti e` impossibile rispondere.
    (e forse e` una domanda da spostare nel forum CMS)

    Fondamentalmente ci sono queste possibilita` principali (oltre a tutte le varie commistioni tra esse):
    - il CMS linka CSS diversi a seconda delle situazioni
    - il CMS genera CSS diversi a seconda ...
    - il CMS inserisce istruzioni CSS inline (con l'attributo style di qualche tag)

    Quale sia meglio non si puo` dirlo a priori: dipende appunto da come e` fatto il CMS e come gestisce gli stili.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.