Revision: 62266
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 12, 2013 20:33 by brownrl
Initial Code
<?php
/**
* @file
* This file defines the robmod module.
*/
/**
* Implements hook_block_info().
*/
function robmod_block_info() {
// Get the module name
$module = basename(__FILE__, '.module');
// Build a glob to get all the blocks defined.
$module_path = drupal_get_path("module", $module);
$block_path = $module_path . "/" . "blocks";
$block_files = glob($block_path . "/" . "block.*.php");
// The empty block info array.
$r = array();
foreach($block_files as $file) {
if(preg_match("/block\.([a-z_]+)\.php/", $file, $matches)) {
// Block name
$block = $matches[1];
// Name can be translated why not?
$block_name = ucwords(str_replace("_", " ", $block));
$r[$block]['info'] = t($block_name);
// Assume no cache.
$r[$block]['cache'] = DRUPAL_NO_CACHE;
}
}
return $r;
}
/**
* Implements hook_block_view().
*/
function robmod_block_view($delta = '') {
// Get the module name
$module = basename(__FILE__, '.module');
// Setup a blank block.
$block = array();
$block['subject'] = t($delta);
$block['content'] = t('No Content Defiend for: ') . $delta;
// Build a path to the block file.
$module_path = drupal_get_path("module", $module);
$block_path = $module_path . "/" . "blocks";
$block_file = $block_path . "/" . "block." . $delta . ".php";
// Does the file exists?
if(file_exists($block_file)) {
// Yes it does so let's include it.
include_once($block_file);
// We should now have a function from that.
$function = "block_".$delta."_content";
// Does that function exist?
if(function_exists($function)) {
// Yes assign the return to the block content.
$block['content'] = $function();
}
}
return $block;
}
Initial URL
http://www.itsgotto.be/cv.php
Initial Description
This is a hook_block_info and hook_block_view template that will allow you to quickly create blocks in a Drupal module. When you use this all you have to do is create a directory "blocks" in the module and then create block.block_name.php in the directory. Inside the php you need to define a function block_block_name_content().
Initial Title
Drupal Auto Blocks
Initial Tags
drupal
Initial Language
PHP