codice page.tpl.php

5 contenuti / 0 new
Ultimo contenuto
codice page.tpl.php

Sto cercando di non far visualizzare il tag <h1>, anche tramite css, quando la pagina ospita una vista?

Leggendo la documentazione ho capito che queste pagine hanno nell'array $classes il valore 'page-views', come posso utilizzare questo valore per non far stampare il tag <h1>? Immagino che serva un if, ma ho provato tante soluzioni senza riuscirvi. Attualmente modificando page.tpl.php sono riuscito a dare class diverse a seconda delle pagine in questo modo:

<?php if (($node->nid == '28') or ($node->nid == '54') or ($title == 'Ricerca') or ($title == 'Forum')):  ?>
          <h1 class="<?php $stringa = strtolower($title); print str_replace(" ", "_", $stringa); ?>">
<?php print $title; ?>
          </h1>
<?php endif ?>
<?php if (!(($node->nid == '28') or ($node->nid == '54') or ($title == 'Ricerca') or ($title == 'Forum'))):  ?>
          <h1 class="title">
<?php print $title; ?>
          </h1>
<?php endif; ?>

In questo modo sono riuscito a gestire la grafica separatamente nelle pagine di cui ai nid 28,54 e titolo Ricerca e Forum che hanno uno sfondo in h1 identico e nelle altre ho applicato uno sfondo diverso assegnato a h1.title. Ora però mi trovo le pagine in cui ho le viste che gli viene associato h1.class, mentre vorrei che non avessero proprio il tag h1 e stessa cosa per la home page.

Come posso fare? Spero di essere riuscito a rendere l'idea :-)

.page-views h1{
display:none;
}

risolto anche così, ora ora :-)

<?php if ($title == ''):  ?>
        <?php elseif (($node->nid == '28') or ($node->nid == '54') or ($title == 'Ricerca') or ($title == 'Forum')):  ?>
          <h1 class="<?php $stringa = strtolower($title); print str_replace(" ", "_", $stringa);   ?>">
<?php print $title; ?>
          </h1>
        <?php elseif (!(($node->nid == '28') or ($node->nid == '54') or ($title == 'Ricerca') or ($title == 'Forum'))):  ?>
          <h1 id="<?php print $classes; ?>" class="title">
<?php print $title; ?>
          </h1>
        <?php endif; ?>

Il duro lavoro fatto con passione, ripaga sempre!!!!

Vado a memoria, ma se viene visualizzato un nodo nelle variabili della pagina trovi $node mentre se viene visualizzata una vista trovi $view. Quindi basta che controlli se c'è una delle due.

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Ciao ziobudda, in page.tpl.php:174 di zen abbiamo questo codice per editare h1:

<?php if ($title): ?>
          <h1 class="title"><?php print $title; ?></h1>
<?php endif; ?>

ed è quello su cui i devo lavorare. Dove posso trovare le variabili da te indicate? Premetto che comunque ho risolto con il codice php postato sopra.

Il duro lavoro fatto con passione, ripaga sempre!!!!