24iX SYSTEMS

Drupal Block Templates

Opens internal link in current windowDrupal Templates installieren
Opens internal link in current windowDrupal Templates erstellen
Opens internal link in current windowDrupal Templates verstehen
Opens internal link in current windowDrupal Node Templates
Opens internal link in current windowDrupal Block Templates

Drupal Blocks bestehen aus Textteilen oder Funktionen die normalerweise ausserhalb des normalen Contentbereiches stehen. Üblicherweise findet man Drupal - Blocks in der linken und rechten Spalte. Die Lage der Blocks einschliesslich Zugangsberechtigungen werden im Drupal Backend (Verwalten --> Strukturierung -->Blocks) konfiguriert.

Drupal Block Template

Wie auf der Abbildung zu erkennen ist haben Blöcke einen Titel und eine Beschreibung. Bei Blocks handelt es sich nicht um Inhaltstypen. Verwechseln Sie Block als nicht mit Nodes. Für Blocks gelten andere Regeln. So haben Nodes etwa Revisioncontrol, Permissions, die Möglichkeit Anmerkungen (Comments) zu haben und vieles mehr.

Blocks haben  Optionen um zu steuern wer diese Bereiche sehen darf und auf welchen Seiten diese erscheinen sollen. Blocks werden entweder durch Drupals Webinterface (custom blocks) oder durch das Block API definiert. Obwohl Blocks alles darstellen können was Sie wollen, werden Blocks üblicherweise zur Unterstützung des Hauptcontents herangezogen.

Das Block Template block.tpl.php

Im Templatefile block.tpl.php wird der HTML / PHP Code für die Darstellung von Blocks hinterlegt. Ähnlich dem page template und dem node Template gibt es auch beim Block Template eine Reihenfolge welches Template zuerst abgearbeitet wird:

- block-modulename-delta.tpl.php
- block-modulename.tpl.php
- block-region.tpl.php
- block.tpl.php

Modulename ist der Name des Modules das den Block implementiert, so ist beispielsweise der 'Who is online'-Block implementiert durch den Module user (user.module). Wenn Sie nicht wissen um welchen Modul es sich in Ihrem spezifischen Falle handelt, dann können Sie das mit <?php print_r($block) ?> (im Template file block.tpl.php) herausfinden. Damit wird das komplette Block-Objekt für jeden Block auf der Seite ausgegeben (genauer: für jedes Block das aktiviert ist). Die Block-Templates der Themes in der Basisinstallation sind alle recht simple und haben folgendes Layout:

Block Template des Themes Bluemarine
  <div class="block block-<?php print $block->module; ?>" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
    <h2 class="title"><?php print $block->subject; ?></h2>
    <div class="content"><?php print $block->content; ?></div>
 </div>