Problema con page.tpl.php e blocchi

6 contenuti / 0 new
Ultimo contenuto
Problema con page.tpl.php e blocchi

Scusatemi sto cercando di personalizzare un themplate.

Sono partito da un zen_theme implementando il seguente codice in template.php ho aggiunto la parte in neretto

return array(
'page_top' => t('page top'),
'banner' => t('banner'),

'left' => t('left sidebar'),
'right' => t('right sidebar'),
'navbar' => t('navigation bar'),
'content_top' => t('content top'),
'content_bottom' => t('content bottom'),
'header' => t('header'),
'footer' => t('footer'),
'closure_region' => t('closure'),
);
}

Mentre poi su page.tpl.php

  <?php if ($page_top): ?>
          <div id="page-top">
            <?php print $page_top; ?>
          </div> <!-- /#page-top -->
        <?php endif; ?>
        <?php if ($banner): ?>
          <div id="banner">
            <?php print $banner; ?>
          </div> <!-- /#banner -->
        <?php endif; ?>
   

Tutto questo per poi linkare nella sezione banner un file .gif ecc...

Il problema è che come salvo questo file, ed uso Drupal le pagine mi diventano completamente tutte bianche, sono quindi costretto a commentare queste porzioni di codice, per poi risalvare il file. In questo modo drupal riparte.

Premetto che sono in locale con MAMP su macintosh e la versione di Drupal è la 5.6 in italiano.

chi mi sa dare una mano?

Grazie

sembra tutto corretto. Se provi a scrivere semplicemente:

<?php
 
print $page_top;
?>

cosa succede?

Cosi sembra non avere problemi, ora però continuo con il tutorial che stavo eseguendo (preso dal libro Drupal 5 Themes).

Ma secondo te almack perchè c'è questo problema se il resto dei tag nella pagina sono così:

<?php if ($logo || $site_name || $site_slogan): ?>
        <div id="logo-title">
          <?php if ($logo): ?>
            <div id="logo"><a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>" rel="home"><img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" id="logo-image" /></a></div>
          <?php endif; ?>
          <?php if ($site_name): ?>
            <?php
             
// Use an H1 only on the homepage
             
$tag = $is_front ? 'h1' : 'div';
           
?>

            <<?php print $tag; ?> id='site-name'><strong>
              <a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>" rel="home">
                <?php print $site_name; ?>
              </a>
            </strong></<?php print $tag; ?>>
          <?php endif; ?>
          <?php if ($site_slogan): ?>
            <div id='site-slogan'><?php print $site_slogan; ?></div>
          <?php endif; ?>
        </div> <!-- /#logo-title -->
eccetera ....

Ho di nuovo problemi, ho provato a scrivere il blocco php così:

  <?php if ($page_top): ?>
     <div id='page-top'><?php print $page_top; ?></div>
  <?php endif; ?>
  <?php if ($banner): ?>
     <div id='page-top'><?php print $page_top; ?></div>
  <?php endif; ?>

ma non funziona ugualmente, come vado sulla home del sito, va via tutta la grafica e vedo una pagina bianca.

Non puoi passare a drupal 6 dove la gestione delle nuove regions è molto più semplice?

Se con <?php print $page_top; ?><?php print $banner; ?> funziona non è un problema di codice. puoi fare un errore nel blocco, nel css, nel .php (se copi il codice in mezzo ad altri controlli) o le var non sono vuote.