tematizzare sia il nodo che la pagina

6 contenuti / 0 new
Ultimo contenuto
tematizzare sia il nodo che la pagina

Ciao a tutti, ho un content-type, il cui nome è: fatti_e_risorse.
Ho tematizzato il nodo con il file: node--fatti_e_risorse.tpl.php
ma vorrei anche tematizzare la pagina dove appare, ho provato con:
page--fatti_e_risorse.tpl.php

pero qualsiasi cosa scrivo qui dentro, non cambia niente, non è possibile
tematizzare sia il nodo che la pagina di uno stesso content type?

Drupal Version:

ho trovato questo articolo: http://www.newblood.com/blog/2012/03/27/page-node-type-tpl-php-for-drupa...
che dice che può non funzionare sulla versione di Drupal 7, come invece sostengono i manuali,
io non sono riuscito ad applicare questa modifica, se modifico il file template.php come dice nell'articolo non succede nulla di diverso. E voi cosa ne pensate?

Ciao, io avevo risolto creando il file page--node--666.tpl.php (dove 666 è l'id del nodo di cui voglio temizzare la pagina). Non so se ci sono altre soluzioni.

Drupal 7 fa un uso delle body class con cui si può personalizzare facilmente qualsiasi pagina. Se prendiamo come esempio questo nodo puoi vedere che:
<body class="html not-front logged-in one-sidebar sidebar-first page-node page-node- page-node-18938 node-type-forum i18n-it" >

Quindi se devi personalizzare questa pagina lo farai usando la classe .page-node-18938, se invece vuoi personalizzare tutte le pagine del forum userai la classe .node-type-forum e così via.

A me piaceva l'idea di aggiungere un hook per fare funzionare le cose...conoscevo la cosa spiegata da biggia, e non mi serve avere delle classi css...cerco di tornare sulla strada dell'hook, che mi sembra sia la direzione giusta...

Alla fine sono riuscito...

  function myZen_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    switch ($vars['node']->type) {
      case 'fatti':
        $vars['theme_hook_suggestions'][] = 'page__fatti';
        break;
    }
  }
}