Inhoud in header plaatsen

Uit DeVliegendeWiki

Ga naar: navigatie, zoeken

Sommige themes in Drupal ondersteunen content in de header niet goed. Artisteer ondersteunt aanpasbare headers helemaal niet. Het is echter mogelijk om zelf een region te defineren en daar vervolgens content te plaatsen. Daar lijken twee methodes voor te bestaan: Het .info-bestand aanpassen dat bij een theme hoort, of een region-functie defineren. Hieronder wordt de tweede methode uitgelegd.

Eerst moet je een region defineren in de header. Deze link legt uit dat je daarvoor een functie met de naam van je theme moet aanmaken in template.php. Deze functie kun je bovenaan in template.php:

function tkob_regions(){
	return array(
			'left' => t('left sidebar'),
			'content' => t('content'),
			'header' => t('header'),
			'topbanner' => t('topbanner'),
			'footer' => t('footer'),
			);
}

Vervolgens moet je in page.tpl.php een regen incorporeren die de inhoud van deze region afbeeldt. De beste locatie hiervoor lijkt direct na de code te zijn die de primaire en secundaire links plaatst. Als je de code daarvoor plaatst, verschuiven de driehokjes voor primaire en secundaire links naar beneden:

     <?php if (isset($primary_links)) : ?>
         <?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
       <?php endif; ?>
       <?php if (isset($secondary_links)) : ?>
         <?php print theme('links', $secondary_links, array('class' => 'links secondary-links')) ?>
       <?php endif; ?>
        
       <?php print $topbanner; ?>
 
      </div> 

Overigens, ook dit is niet perfect: De hele bovenste twee regels van de header zijn nu gereserveerd voor primaire en secundiare links, en daardoor blijft er maar relatief weinig ruimte over voor eigen content.

Zie het onderwerp blocks creeren en plaatsen om te zien hoe je een custom block kunt aanmaken en die in de header kunt plaatsen.

Hier gaan we dieper in op de inhoud van zo'n block: De truuk zou zijn om er voor te zorgen dat de vormgeving conform die van de rest van de site is. Dat wordt waarschijnlijk door CSS bepaald. Een paar hints (voor Garland):

  • Gewoon tekst ziet er hetzelfde uit als gewone body-tekst
  • h1-tekst: Wit, Tahoma, en even groot als titels van blocks. LET OP: Voor de H1-tekst wordt een flinke verticale ruimte ingebouwd. Dat maakt h1-tekst zeer beperkt toepasbaar.
  • h2-tekst: In dezelfde kleur als body-tekst.
  • p-tekst: Als gewone tekst. Allignment-tag werkt
Persoonlijke instellingen