Bagaimana cara membuat blok statis secara terprogram?


8

Saya ingin membuat blok statis menggunakan modul. Saya tidak ingin menggunakan modul Views untuk membuat blok. Adakah yang bisa menjelaskan cara membuat blok statis secara terprogram?

Saya sudah memeriksa modul contoh di Drupal, tetapi tidak banyak membantu saya. Saya telah memulai pengembangan modul Drupal setiap baru-baru ini dan saya berjuang untuk melakukan ini.

Jawaban:


21

Kait penting dalam modul contoh Blok adalah hook_block_info()dan hook_block_view(). Hook info mendefinisikan blok Anda di sistem dan kait tampilan membuat output (html) untuk blok Anda.

Setiap modul, termasuk modul Anda, akan memiliki setidaknya file .info dan file .module. Drupal.org memiliki beberapa dokumentasi lebih lanjut tentang file .info yang mungkin bermanfaat bagi Anda ketika memulai dengan modul. Anda benar-benar hanya membutuhkan namedan coreentri.

File .module adalah tempat Anda akan menerapkan kait Anda. Pertama, terapkan hook_block_info(), ganti 'kait' dalam nama fungsi dengan nama modul Anda, mis my_module_block_info(). , . Seharusnya terlihat seperti berikut ini.

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

  return $blocks;
}

Kemudian, terapkan hook_block_view()kait Anda untuk menentukan konten statis.

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;
}

Setelah Anda memilikinya, Anda dapat menempatkan blok di wilayah mana pun seperti yang Anda lakukan pada blok lainnya di Drupal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.