Front Page, personalizzazione theme

6 contenuti / 0 new
Ultimo contenuto
Front Page, personalizzazione theme
AllegatoDimensione
Image icon Immagine.jpg67.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

Lord_M wrote:
Salve,
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?

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

Lord_M wrote:
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:

<?php
if ($is_front) {
  include(
'page-front.tpl.php');
  return;
}
?>

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

<?php
 
print $styles
?>

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.