Come posso creare un blocco statico a livello di codice?


8

Voglio creare un blocco statico utilizzando un modulo. Non voglio usare il modulo Views per creare un blocco. Qualcuno potrebbe spiegarmi come creare un blocco statico a livello di codice?

Ho già controllato i moduli di esempio in Drupal, ma non mi è stato di grande aiuto. Ho iniziato lo sviluppo del modulo Drupal di recente e faccio fatica a farlo.

Risposte:


21

Gli hook importanti nel modulo di esempio Block sono hook_block_info()e hook_block_view(). Il gancio informativo definisce il blocco nel sistema e il gancio vista crea l'output (html) per il blocco.

Ogni modulo, incluso il tuo, avrà almeno un file .info e un file .module. Drupal.org ha un po 'più di documentazione sui file .info che potresti trovare utili quando inizi con i moduli. Il tuo ha davvero solo bisogno delle voci namee core.

Il file .module è dove implementerai i tuoi hook. Innanzitutto, implementare hook_block_info(), sostituendo "hook" nel nome della funzione con il nome del modulo, ad es my_module_block_info(). Dovrebbe essere simile al seguente.

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

  return $blocks;
}

Quindi, implementa il tuo hook_block_view()hook per definire il contenuto statico.

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

Dopo averlo installato, puoi posizionare il tuo blocco in qualsiasi regione come faresti con qualsiasi altro blocco in Drupal.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.