Allegato | Dimensione |
---|---|
![]() | 67.93 KB |
Salve,
da alcuni giorni sto lavorando su Drupal cercando di realizzare quello che definirei un classico sito aziendale.
Lavoro con il tema AD Novus: http://drupal.org/project/ad_novus
Ho la necessità di avere due "strutture" del theme (vd immagine allegata): una per la home e una per le rimanenti pagine. Quella per le rimanenti pagine l'ho creata modificando tramite il file style.css del tema e il file page.tpl.php lo stesso tema per adattarlo alle mie esigenze. http://drupal.org/node/266675
Ho modificato solo alcune dimensioni e dei colori, il resto rimene uguale.
Poi ho creato una Home tramite il modulo Front Page, ma questo mi ha permesso di modificare solo il contenuto dell'area che Drupal definisce "Content" e l'ho fatto da Admin>Site Configuration>Advanced front page settings
Ora ed è il problema per il quale scrivo vorrei modificare le aree fuori dal "Content", in particolare l'Header estendendo la sua dimensione ed inserendo un'immagine. Queste due modifiche devono essere presenti solo nella home. Nell'immagine allegate ci si rende conto del tutto.
Ora, pensando le idee che mi sono venute in mente è questa:
1) Creo uno CSS style_home.css uguale in tutto per tutto a style.css tranne che nelle dimensioni dell'header, che aumento
2) Modifico il file page.tpl.php relativo alla front page ma non lo trovo! Il modulo Front Page fa riferimento a qualche file del tipo x.tpl.php?
Ritengo tra l'altro di manifestare un'eseigenza abbastanza comune per un uso aziendale, intranet o web che sia del CMS Drupal.
Grazie delle vostre idee da subito.
Lord_M
Ciao, non conosco il modulo Front Page, ma se non ho capito male le tue esigenze, non c'è neanche bisogno di utilizzarlo...
copia il contenuto di page.tpl.php e incollalo dentro un nuovo file chiamato page-front.tpl.php
tutte le modifiche fatte a page-front.tpl.php influenzeranno soltanto la home
Grazie jean-Louis, ma non credo che basti.
Dunque, effettivamente il modulo Front page potrebbe non servirmi ma:
- Il design delle pagine nel mio theme (Ad_Novus) è dato dal page.tpl.php e da style.css. Quindi dovrei creare due file nuovi per la front page un php e un css.
- Fatto questo, come faccio a fare in modo che la mia front page faccia riferimento a questi due nuovi file invece che ai classici page.tpl.php e style.css? La home per caso ha un node specifico? Forse mi sto perdendo in un bicchier d'acqua ma questo proprio non lo capisco!
L_M
Credo proprio che il problema sia sui css da differenziare.
Ora ho:
page.tpl.php con style.css
e
page-front.tpl.php con page-front.css
In page.tpl.php ho inserito all'inizio di tutto:
In page-front.tpl.php
prima dell'head ho messo:
e ho provato anche col percorso assoluto dello stylesheet
Ebbene, provando a mettere dei colori strani non cambia nulla da page-front.css mentre cambia da
Ora, come differenziare i fogli di stile?
L_M
Credo quasi di esserci, ma ho bisogno di un supporto per il codice php
Dunque il mio problema è simile a questo:
http://drupal.org/node/100343
Il suggerimento dato dal Supporto Drupal come di vede è di modificare nel mio caso nella pagine
page-front.tpl.php il codice php all linea
Il punto è che mentre nell'esempio fanno on modo di avere per ogni pagine un css specifico a me serve solo per la front page. Qdi credo che basti modificare il php da loro suggerito. Avete un'idea. Sono abbastanza a digiuno di php.
L_M
PS: semplicemente cancellando la stringa php ...$styles effettivamente fa riferimento al css della front page ma sballa una sacco di altre cose.
Il modulo Front Page permette di creare un template che si sovrappone e sostituisce completamente il page.tpl.php, quindi non capisco come mai la sostituzione sia avvenuta solo sul $content. Effettivamente, il modulo Front Page corrisponde a usare page-front.tpl.php, ma aggiunge anche altre funzioni, come la possibilità di impostare front page diverse per diversi tipi di utenti.
Riguardo l'altra parte del problema, io credo che la soluzione sia molto semplice: in page-front.tpl.php inserisci DOPO print $styles, la chiamata a un CSS che aggiunge agli stili già definiti SOLO le modifiche necessarie per cambiare il layout della home.
Tieni conto che $styles richiama TUTTI i CSS richiesti dalla pagina, sia quelli collegati al tema, sia quelli collegati ai moduli, quindi eliminarlo del tutto è una scelta da fare con le molle. Molto più facile ed elegante fare un lavoro di fino, identificare i pochi ID e classi da modificare e inserirli nel file CSS da richiamare dopo $styles: essendo chiamato dopo, ogni selettore già usato in uno degli $styles userà le ultime specifiche indicate, quindi quelle nel file; se qualche selettore fosse ostinatamente bloccato, prova ad aggiungere !important nelle proprietà che non ne vogliono sapere di cambiare.