Von Wolfgang Hauertmann am 24.05.2014 - 20:54
Man steht vor der Aufgabe, selbst programmierte Inhalte in einem eigenen Block in Drupal auszugeben. Drupal stellt hierfür die Block-Api zur Verfügung. Für ein rudimentäres Block-Modul benötigt man zwei Hooks.
Mit dem hook_block_info registriert man den Block für die Administration. Man kann ihn dann unter admin/structure/blocks auf der Portalseite platzieren.
function mymodule_block_info() { $blocks = array(); $blocks['my_functionality'] = array( 'info' => t('My Module: description of the functionality'), ); return $blocks; }
Mit dem hook_block_view wird der Block ausgegeben:
function mymodule_block_view($delta = '') { $block = array(); switch ($delta) { case 'my_functionallity': $block['subject'] = ''; // $block['content'] = drupal_get_form('_mymodule_my_functionality_form'); $block['content'] = _mymodule_my_functionality(); break; return $block; } return $block; } function _mymodule_my_functionality() { $output = ''; // $xy_form = drupal_get_form('_mymodule_my_functionality_form'); // $output .= drupal_render($xy_form); $output .= "Hello World"; return $output; }
Natürlich lassen sich mehrere Blöcke gleichzeitig mit diesen beiden Funktionen erzeugen.