Как создать статический блок программно?

8

Я хочу создать статический блок, используя модуль. Я не хочу использовать модуль Views для создания блока. Может ли кто-нибудь объяснить мне, как создать статический блок программно?

Я уже проверил примеры модулей в Drupal, но это мне не сильно помогло. Я недавно начал разработку модуля Drupal, и я изо всех сил пытаюсь это сделать.

киамлалуно
источник

Ответы:

21

Важными хуками в модуле Block example являются hook_block_info()и hook_block_view(). Хук информации определяет ваш блок в системе, а хук представления создает вывод (html) для вашего блока.

Каждый модуль, включая ваш, будет иметь как минимум файл .info и файл .module. Drupal.org содержит дополнительную документацию о файлах .info, которая может оказаться полезной при начале работы с модулями. Твои действительно просто нужны nameи coreзаписи.

Файл .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.

Chaulky
источник