Personalizzare l'aspetto di una sola pagina

6 contenuti / 0 new
Ultimo contenuto
Personalizzare l'aspetto di una sola pagina

Salve,
dovrei personalizzare l'aspetto di una sola pagina a partire dal page.tpl.php.

Cercando sul forum ho trovato questa discussione che fa al caso mio, ma sul mio sito non funziona.

Supponendo che il mio nodo (di tipo pagina) abbia NID 71, ho fatto questo:
Ho copiato il file page.tpl.php nella root del mio tema, in page-71.tpl.php ma non funziona.
Ho copiato il file page.tpl.php nella root del mio tema, in page-node-71.tpl.php ma non funziona.
Ho copiato il file page-node.tpl.php nella root del mio tema, in page-node-71.tpl.php ma non funziona.

Come mai non funziona? anche su drupal.org suggeriscono questa procedura.
Ho provato anche a svuotare tutte le cache ma nulla.
Sto sbagliando la sintassi da qualche parte forse?
grazie dell'aiuto
Marco

Una soluzione possibile sicuramente esiste ma ci vuole tempo... Io sono disponibile in cambio di una birra, ok?

@tunning88:
la procedura che hai seguito è corretta e funzionante nella mia sandbox.
page-node-71.tpl.php dovrebbe essere corretto e va posizionato nella root del tema in uso.

controlla di non aver lasciato altre copie del file in altri percorsi. è possibile che drupal "non veda" la versione che stai modificando, ma un'altra.

puoi usare anche il modulo devel_themer assieme a devel per vedere quali template hai a disposizione e quale template stai usando per il nodo visualizzato

Se si svuota la cache, non si ricostruisce il theme registry (che è quello che legge i template e va ricostruito se si aggiungono template). Per farlo, se non hai altri metodi di accesso rapido a questa funzione (per esempio in administration_menu), basta che visiti la pagina con l'elenco dei temi e risalvi le impostazioni anche senza cambiare nulla.

Grazie a tutti per il supporto,
partendo da Pinolo, si svuotavo la cache tramite "flush all caches" di admin menu, quindi penso che implicitamente eseguivo il rebuild theme registry.
- Bohz, ho provato mettendo il file nella root del mio tema, che in realtà però un sottotema. Quindi sono attivi contemporaneamente sia il tema principale che il sottotema, ma non ho risolto in nessuna delle due root.
Poi ho scoperto pure che l'informazione che volevo modificare (cioè il titolo del nodo in h2) non si trovava su page.tpl.php ma su node.tpl.php , e non sapendo se lo stesso procedimento si poteva ripetere per il foglio node, allora ho agito direttamente nel node.tpl.php del mio sottotema (replicando quello del tema principale) e inserendo una if per il controllo sul nodo nel quale volevo modificare il titolo.

sembra funzionare bene, e sinceramente non volevo perderci altro tempo alla ricerca di soluzioni più corrette.
grazie a tutti,
Marco

Ciao a tutti...

Non è che per caso si stia dando per scontato (e non viene detto...) che nel file template.tpl.php presente nella cartella del tema bisogna aggiungere una funzione per far riconoscere a Drupal tutto questo?

Prova ad aggiungere la seguente funzione in template.tpl.php del tuo tema, svuota la "cache" e crei i files che ti servono es. node-my_ctype.tpl.php / page-node-my_ctype.tpl.php / node-123.tpl.php (però qui ho un dubbio nel senso che non ho mai provato con l'ID del nodo...) etc etc etc...

function nometema_preprocess_page(&$vars) {
    if ($vars['node']->type != "" && arg(2)!='edit' && arg(1) !='add') {
    $vars['template_files'][] = "page-node-" . $vars['node']->type;
  }
}

Vedi anche qui >>> http://www.drupalitalia.org/node/8718#comment-26731

Anche qui un paio di link:
http://www.hankpalan.com/blog/drupal-themes/theming-node-drupalthe-easy-way
http://drupal.org/project/custom_node_template

Boh... se ho capito male abbiate pazienza...

Ciao a tutti

Kipper