Creazione di più blocchi a livello di codice


9

Sto scrivendo un modulo personalizzato per Drupal 7. Devo creare 5 blocchi diversi con il modulo. Drupal ha i ganci hook_block_infoe hook_block_viewche creano blocchi. Come posso aggiungere più blocchi poiché questi hook consentono un solo blocco per modulo?

Risposte:


19

Il seguente codice dovrebbe aiutare. Ovviamente dovrai aggiungere i tuoi 5 blocchi come appropriato, ma è solo per mostrare come è possibile aggiungere più blocchi in un modulo:

function MYMODULE_block_info() {
 $blocks = array();
 $blocks['myfirstblock'] = array(
   'info' => t('My block admin info'),
   'status' => 1,
 );
 $blocks['mysecondblock'] = array(
   'info' => t('My second block admin info'),
   'status' => 1,
 );

 return $blocks;
}

function MYMODULE_block_view($delta = '') {
  $block = array();

  switch ($delta) {
    case 'myfirstblock':
      $block = array(
        'subject' => t('My first block title'),
        'content' => t('My first block content'),
      );
      break;
    case 'mysecondblock':
      $block = array(
        'subject' => t('My second block title'),
        'content' => t('My second block content'),
      );
      break;
  }

  return $block;
}

Motivo per status => 1da hook_block_info()documentazione API:

status: (opzionale) Valore iniziale per lo stato abilitato al blocco. (1 = abilitato, 0 = disabilitato). La maggior parte dei moduli non fornisce un valore iniziale e qualsiasi valore fornito può essere modificato da un utente nella schermata di configurazione del blocco.

Non sono sicuro da dove hai preso un blocco per idea di modulo. Puoi creare tutti i blocchi che desideri in un modulo.

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.