web-dev-qa-db-ja.com

プログラムで静的ブロックを作成するにはどうすればよいですか?

モジュールを使用して静的ブロックを作成したい。 Viewsモジュールを使用してブロックを作成したくありません。プログラムで静的ブロックを作成する方法を誰かに説明してもらえますか?

Drupalでサンプルモジュールをすでに確認しましたが、あまり役に立ちませんでした。私はDrupalモジュール開発を最近始めましたが、これを行うのに苦労しています。

8
Divya Choudhary

ブロックのサンプルモジュールで重要なフックは、hook_block_info()およびhook_block_view()です。 infoフックはシステム内のブロックを定義し、viewフックはブロックの出力(html)を作成します。

あなたを含むすべてのモジュールには、少なくとも.infoファイルと.moduleファイルがあります。 Drupal.orgにはさらにいくつかの 。infoファイルに関するドキュメント があり、モジュールを使い始めるときに役立ちます。あなたは本当にnamecoreエントリが必要なだけです。

.moduleファイルは、フックを実装する場所です。まず、hook_block_info()を実装し、関数名の「フック」をモジュールの名前で置き換えます(例: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の他のブロックと同じように、任意のリージョンにブロックを配置できます。

21
Chaulky