如何以编程方式创建静态块?


8

我想使用模块创建一个静态块。我不想使用“视图”模块来创建块。谁能解释我如何以编程方式创建静态块?

我已经在Drupal中检查了示例模块,但是并没有太大帮助。我最近开始进行Drupal模块的开发,而我正为此而努力。

Answers:


21

“块”示例模块中的重要挂钩是hook_block_info()hook_block_view()。信息挂钩在系统中定义了您的块,而视图挂钩为您的块创建了输出(html)。

每个模块,包括您的模块,都将至少具有一个.info文件和一个.module文件。Drupal.org有更多有关.info文件的文档,在开始使用模块时可能会有所帮助。您的确只需要namecore条目。

.module文件是实现挂钩的地方。首先,实施hook_block_info(),用模块名称(例如)替换函数名称中的“ hook” my_module_block_info()。它看起来应该如下所示。

function my_module_block_info() {    
  $blocks['your_block'] = array(
    // info: The name of the block.
    'info' => t('Your Block Name'),
  );

  return $blocks;
}

然后,实现您的hook_block_view()钩子以定义静态内容。

function my_module_block_view($delta = '') {
  // The $delta parameter tells us which block is being requested.
  switch ($delta) {
    case 'your_block':
      // Create your block content here
      $block['subject'] = t('Title of first block (example_configurable_text)');
      $block['content'] = 'Your block content, or the result of a function that returns the content';
      break;
  }

  return $block;
}

将其放置到位后,您可以像在Drupal中的其他任何块一样将其放置在任何区域。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.