Css per nodo

18 contenuti / 0 new
Ultimo contenuto
Css per nodo

ho visto che con taxonomy-theme è possibile differenziare il tema usato in vari modi.

Quello di cui ho bisogno è però più semplice, vorrei associare a sezioni del sito css diversi (giusto per sfondo e colore), quindi non credo sia il caso di caricare un nuovo tema (con css, immagini etc) per cambiare 1 sola immagine.

Esiste una alterativa ?

Non so cosa vogli dire associare a sezioni del sito css diversi. Cmq se vuoi cambiare qualche cosina, basa modificare il style.css (che è il css che gestisce l'intero tema)

mi sono spiegato male...

vorrei poter utilizzare ad esempio uno sfondo della pagina per la gallery, uno per i blog, uno per il forum ...etc etc
in linea teorica basterebbe caricare un css diverso che sovrascrive le impostazioni background...

appunto! ti basta cambiare lo style.css.
in gallery avrai un in blog un e così via. ti basta fare un background su ognuno e sei a posto!
Diciamo che è facile se si conosce il funzionamento dei css, altimrnti bisogna magari prima leggersi una guida sulle caratteristiche css.
Ad esempio quello che chiedi non ha molto senso, proprio per la caratteristica principale del css (descitta anche nel nome: Cascading Style Sheets) cioè a cascata.

ehm, so perfettamente come funzionano i css :) ... mi sfugge come far caricare a drupal css diversi a seconda della pagina

no allora non ci siamo, se conosci le proprietà css ti basta creare un tema di default da inserire dentro poi con taxonomyg-theme fai caricare css che modificano solo i tag desiderati e sei a posto. quindi la tua domanda si risponde da sola. Ovviamente non mi puoi ignorare il concetto di "Cascading".
Quindi

  1. Se vuoi che sia l'utende a modificare parte del tema devi utilizzare taxonomyg-theme
  2. Se vuoi definire diversi colori per ogni pagina o cambi il styile.css o carichi un nuovo css

Onestamente non ho mai provato ma si potrebbe creare dei sottodomini per sezione (forum, blog, ...) e inserire per ognuno il proprio tema.

Metodo più difficile consiste nell'agire sul template: http://www.lullabot.com/articles/hacking_phptemplate
o ancora:
http://www.kinetasystems.com/blog/adding-website-section-images-in-drupa...

In rete dovresti trovare la guida giusta che corrisponde alle tue esigenze.

@sti_drupal: grazie per il tuo lavoro ma cerca di moderare e restare più neutrale possibile.

molte grazie ad entrambi.

volevo evitare taxonomy-theme per non far ricaricare tutti gli stili ed i file del nuovo tema per cambiare solo 1 riga di codice.

guarderò quei link :)

Scusa ma non sono sicuro di aver capito quello che vuoi fare.
Cosa intendi per cambiare lo sfondo e i colori?
Cambiare lo sfondo di tutto il sito, o cambiare lo sfondo dell'articolo?
Se è il primo caso è decisamente più complesso e personalmente cercherei una soluzione tramite uno o più if in page.tpl.php (caricando, a seconda del nodo, uno o più css e sfruttando l'override) o in template.php.
Se invece è il secondo caso è semplicissimo e basta creare un node apposito per la sezione.
Usando cck, per esempio, io ho un node diverso per ogni sezione (node-recensioni_libri.tpl.php, node-racconti.tpl.php, etc.) e ogni sezione è modificabile semplicemente lavorando sul suo node.tpl.php di riferimento.

Il tuo è il primo o il secondo caso (o nessuno dei due)?

In sintesi:

  • Ogni pagina ha come ID il TID della sezione che stai visualizzando (modifica page-taxonomy-term.tpl.php per ottenere questo)
  • Crei un unico CSS in cui definisci gli stili, le parti che devono essere diverse da pagina a pagina le definisci partendo dal selettore padre, che contenendo il TID della pagina sarà sempre diverso.

Ciao
Marco
--
My blog
Working at @agavee

Sapete gentilmente dirmi come faccio a individuare il TID e come usare la taxonimy per i themi?

@calernitano: basta passare col mouse sopra un termine: l'indirizzo che vedi nella status bar del browser sarà: tuosito/taxonomy/term/TID
la seconda domanda è un po' troppo generica!
per iniziare: http://drupal.org/theme-guide/6

io opterei per la modifica/creazione di un *.tpl.php per ogni sezione ch vuoi gestire e ci aggiungi la classe o l'id che ti permette di getire in CSS comodamente le modifiche;

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

@kiuz: se sono due o tre sezioni ok, ma se diventano CENTINAIA? la cosa diventa ingestibile, ogni modfica su di un file TPL deve essere riportata su tutti con i problemi che ne derivano...

Ciao
Marco
--
My blog
Working at @agavee

mavimo wrote:
@kiuz: se sono due o tre sezioni ok, ma se diventano CENTINAIA? la cosa diventa ingestibile, ogni modfica su di un file TPL deve essere riportata su tutti con i problemi che ne derivano...

certo, concordo con te. Ma tenendo conto che l'utente che ha fatto la domanda penso possa essere la soluzione più percorribile piuttosto che proporre una soluzione megalitica che poi magari verrà utilizzata in un sito gestibile con molto meno...

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

L'alternativa di Kiuz mi sembra corrispondente alle mie esigenze, ora la domanda è: come faccio ad associare suddetto *.tpl.php alla sola home che di fatto avrà un background css diverso rispetto a tutte le altre pagine del sito?
Nuovamente Grazie

in drupal esiste una template suggestion per la home page: page-front.tpl.php

Ciao a tutti, è il mio primo post, da qui (oltre che dal mio profilo) si capisce che sono nuovo di drupal.
Innanzitutto complimenti per il lavoro di sviluppo, si può migliorare il supporto, anche se per la verità pur non essendo un esperto, non ho avuto bisogno di aprire topic per un mio problema.

Volevo infatti solo essere utile per chi si ritrova in situazioni simili, ovvero, da quel che ho capito, quella di calernitano che vuole cambiare solo il css e non la struttura. Questo può essere fatto per nodi o per tassonomie.
premessa: Avere diversi stili per categorie può essere una soluzione allettante ma va usata con parsimonia per non affidarsi troppo al colore.

Soluzioni (correggetemi se sbaglio)

Per tassonomie: c'è una forte distinzione tra D7 e le versioni precedenti: per le versioni precedenti può essere utile partire da questa discussione: http://drupal.org/node/1072806#comment-4145086
per d7 può essere fatto con il modulo context (e context addassets o context-theme) http://drupal.org/node/1072806#comment-5124596
Un modulo molto versatile e potente ma ancora alla versione beta. Infatti ho avuto diversi problemi con l'integrazione nel mio tema di questo modulo. Consente di aggiungere codice php anche a chi non sa programmare.
Context addassets riconosceva correttamente un css ad un contesto, ma creando un altro contesto non aveva alcun effetto.
Ho provato a sperimentare le soluzioni legate al caricamento di diversi css dal tema, ma ho problemi se la cache del browser è pulita e se voglio che le notizie mantengano quello stile anche in home, poniamo ad un primo accesso al sito. Non so se magari mi è sfuggito qualche errore durante il processo, ma anche con diverse prove e pulizia della cache di drupal, mi sembrava anche che i css venissero talvolta scambiati per errore.

Allora la soluzione migliore è stata: per nodi.
Crei un tipo di contenuto per ogni sezione (purché queste siano in numero ragionevole) anche legate, volendo, a un vocabolario per tassonomie. A ciascun contenuto si impostano le proprietà a seconda delle esigenze, come il solito.
l'HTML generato avrà un prefisso che sarà facile individuare tramite strumenti come Opera Dragonfly o Firebugs... del tipo "div class node-type-lamiasezione ..." e per la home bisogna fare attenzione a node-teaser.
Il resto sono conoscenze di CSS.
Spero di essere stato utile, anche se solo al primo post, altrimenti insulto libero :)