Ciao a tutti.
Sto cercando di crearmi un tema più o meno "universale", coi colori e le dimensioni completamente gestibili direttamente dall'utente, senza dover modificare manualmente il CSS (che è piuttosto "delicato").
Per farlo, però, servirebbe poter inserire nel css delle variabili php.
È possibile? Come (ma soprattutto DOVE) le definisco?
[edit]NON voglio sapere come agganciarmi a color.module... ho bisogno di molta più flessibilità...[/edit]
Tks,
Diego.
mi pare ci sia Advaced Themes, l'alternativa (molto delicata e non saprei se consigliarti, è la seguente:
Crei un modulo con un hook che simula il percorso del CSS del tuo tema, per esempio /sites/all/themes/miotema/style.css, a questo punto il itercetti la richiesta e generi il CSS al volo (io ti consiglierei di usare delle funzioni di theming tramite *.tpl.php per la generazione dell'output). Oltre a generarlo, però, fai anche in modo di andare a salvarlo come file (con lo stesso nome definito dall'hook_menu) in modo che non venga generato ogli volta, ma le volte successive le richieste vengano gestite da Apache e non dal sistema.
Ovviamente devi prevedere anche dei meccanismi di cancellazione del file a seguito delle modifiche fatte dall'utente.
Ciao
Marco
--
My blog
Working at @agavee
Uhm... uso interessante per mod_rewrite... Quasi quasi lo provo. Ma mi aspetto vari problemi. Primo fra tutti l'impostare un RewriteBase corretto.
Se ti riferisci ad ATCK, l'ho già scartato perché mi sembra che non supporti il "proper source ordering". In pratica voglio i contenuti prima della barra di sinistra, e lui me li vuole mettere dopo. Inoltre mi pare che una volta generato il tema non lo si possa più modificare (ci sono da inserire un tot di cose nei file generati).
L'altra cosa a cui ho pensato è di inserire il css coi colori direttamente nell'header della pagina, ma mi si rivolta lo stomaco...
Ma mi è venuta un'altra idea cattivella (usare direttamente un php come css). Il problema è che servirebbe un path "fisso" usabile per il file di configurazione, che invece non posso avere senza accedere al resto di Drupal (penso ad un'installazione multi-sito, con il mio tema presente solo in sites/altro.info/themes/ ...).
imho non ci stiamo capendo :D
In ogni caso, per i colori COLOR e non si discute, per altre cose (dimensioni colonne, .. ) prova a far generare i CSS on fly dopo che l'utente ha modificato i parametri dal pannello di controllo, per altro.. dipende cosa vuoi fare ;)
Ciao
Marco
--
My blog
Working at @agavee
Nope. color gestisce solo 5 zone, tra l'altro con l'uso di immagini. A me serve impostarne parecchie di più, per permettere il controllo fine del tema finale.
Obiettivo: un tema "universale", ultraleggero, css-only (senza tabelle non semantiche), multibrowser, con proper source ordering, e che non richieda modifiche manuali al CSS se non in casi veramente eccezionali (e la modifica di un colore di sfondo dei moduli core NON deve essere un caso eccezionale...). Ah, e pure suckerfish menu (anche se vorrei permettere anche un menu multilivello "a righe"... ma per questo devo ancora studiare). È sufficiente ? :)
Puoi fare tutto con color.. che permete 5 colori, ma nulla vieta che poi tu possa andare a usare png con traspsarenze per alterarli (con gradienti colorati), le immagini le puoi ritagliare tu da un immagine di mappa, mentre per i CSS i colori vengono modificati on fly in base alla vicinanza della lumiosità dal colore base.
Se come zone di color intendi le regioni, non è assolutamente vero, dipende dal tema, puoi fare temi con centinaia di regioni e comunque usare color.
Per quanto riguarda la modifica del colore di sfondo dei moduli del color non è assolutamente una cosa eccezionale si fa normalmente, è solo un overriding delle proprietà dei CSS, non capisco che problamti dia.
Per SuckerFish non lo uso e non saperei dirti.
Ciao
Marco
--
My blog
Working at @agavee
Non mi piace fare uso di immagini se non necessarie - se non interessano i gradienti è meglio usare direttamente le proprietà del CSS, con notevoli risparmi di tempo di scaricamento e di banda utilizzata.
Oltretutto i png con trasparenza generano carico extra per IE (mai insultato abbastanza per i problemi che crea...).
Il sistema di selezione colori in color mi piace, ma per usarlo non è necessario il modulo: è già incluso nel core.
Quello che ancora non ho trovato è della documentazione che non mi costringa a leggere gran parte dei sorgenti... Non che la cosa mi spaventi (già fatto più volte in passato), ma il tempo è sempre poco. E la gestione di jQuery non mi è ancora particolarmente chiara... un po' di documentazione aiuterebbe.
Altra cosa per cui aiuterebbe sarebbe l'invalidazione automatica della cache del tema quando viene cambiato qualche parametro... Comunque dovrei riuscire a trovare vari esempi "copiabili" in vari temi esistenti.
Altra cosa a cui non ho capito come ovviare: quando cambio tema, "giustamente" i blocchi vengono tutti nascosti dato che non esiste più la regione in cui li avevo messi. C'è qualche convenzione di naming per le aree "base" (barre destra e sinistra per cominciare) ?
le regioni di base sono, le classiche cinque, header, footer, content, column left e column right.
Mi sa che o non riesco a spiegarmi io, o non ti è ben chiaro il funzionamento di color :D
Nessuno ti obbliga ad usare imagini anzichè colori nelle proprietà CSS; anche garland cambia alcuni colori (quelli senza gradienti) usando i CSS e non immagini.
Le PNG trasparenti sono quelle che il server usa come base per genrare le immagini ritagliate che finiscono al client, quindi non ti da problemi con la trasparenza.
Il modulo color devi averlo attivato e devi dire al tuo tema di usarlo, color fa parte del core (paccehtti opzionali), ma se non usi il modulo non funziona nulla :D
Un conto è color, un altro è jQuery (che con theming e drupal non c'entra nulla.
Questo viene già fatto, dai un occhio alla funzioni:
Ciao
Marco
--
My blog
Working at @agavee
Però alcuni temi chiamano le sidebar solo left e right, altri sidebar_left e sidebar_right ... Qual'è la cosa corretta da fare?
Sicuramente la seconda che hai detto :D
Mo cerco di studiarmelo meglio per capire come fa. E DOVE lo fa.
Yup. Verissimo. C'è modo di forzarne l'attivazione quando si usa il tema?
C'entra per la gestione di suckerfish con IE... purtroppo.
Urgh! Giusto. Ma della documentazione per tutte queste funzioni non c'è? Mi rompe scocciare altri se magari c'è un bel manuale che mi darebbe al volo tutte le risposte...
Intanto grazie.
Per il manuale su come usare color avevo iniziato a scrivere qualche cosa io, ma poi per diversi motivi (tra cui un RAID 5 che decise di abbandonarmi, con un bel pò di manteriale pronto ma non ancora pubblicato) non è finito in rete, dovrei decidermi a riscriverlo, ma il tempo è sempre poco.. :|
Per le documentazioni ti consigilo:
(magari mettitelo in locale, che nei momenti di picco tende a diventare lento.)
Ciao
Marco
--
My blog
Working at @agavee
Grazie.
api.drupal.org cerco di leggerlo, ma ci sono moltissime cose che ancora fanno riferimento al 4.6!
Quindi tra 4.6, 4.7, 5.x e 6.x (e talvolta anticipazioni di 7.x) è facile incasinarsi... se poi magari non dicono neppure a quale versione si riferiscono, è la fine :(
In api.drupal.org ci sono delle tab in cima a ogni pagina che descrive le funzioni: ogni tab corrisponde a una versione di Drupal. Se non c'è la tab della versione che ti interessa, la funzione non è presente in quella versione.