Block im Block bei Drupal

Ähnlich wie hier, kam auch ich letztens in die Situation einen oder mehrere Blöcke in einem Block anzeigen zu müssen.

Der obige Ansatz hat erst nach hinzufügen eines weiteren Parameters, nähmlich delta funktioniert.

So kommt man an den Block

$block = module_invoke('module', 'block', 'view', 'delta', 'bid');

Parameter 1, module besagt zu welchem Modul der gewünschte Block zugehörig ist.
Parameter 2, block und 3, view sind in diesem Fall hingegegen fix, da es sich hier ja mit block um Block als Modul dreht und view die Operation ist, die auf den Block angewandt werden soll, siehe auch http://api.drupal.org/api/function/hook_block.
Die Parameter 4,delta und 5, bid, die Block-ID sind wiederrum blockspezifisch, diese werden wie module in der Tabelle blocks festgehalten.

Zugriff auf den Block

Die Variable $blocks enthält nun einen assoziativen Array, auf den man über die Keys subject und content zugreifen kann.

<?php
print $block['subject'];
print $block['content'];