it-swarm.it

Posiziona un blocco in più regioni

Esiste un modulo che può consentire agli utenti di posizionare lo stesso blocco in più aree? In questo modo non devo fare lo stesso blocco View due volte.

12
enchance

Multiblock il modulo lo rende possibile:

Il modulo a blocchi di Drupal è limitato dal fatto che un blocco può avere solo un'istanza. Ogni blocco ha una relazione 1: 1 con le impostazioni relative a regione, peso, visibilità (e altro). Ciò significa che è impossibile avere blocchi in più aree o avere blocchi con impostazioni diverse su pagine diverse. Il modulo MultiBlock risolve questo problema consentendo di creare più istanze di blocco di blocchi già esistenti.

16
tostinni

Non è chiaro se si desidera utilizzare più volte lo stesso blocco nella stessa pagina o posizionarlo in aree diverse su pagine diverse. Ad ogni modo, ti consiglio di dare un'occhiata a modulo di contesto .

Utilizzando il contesto è possibile posizionare un blocco con in diverse regioni su pagine diverse. In alternativa puoi creare 2 contesti che si applicano alla stessa pagina/e posizionando lo stesso blocco in regioni diverse.

6
skwashd

modulo Pannelli semplifica anche l'uso di più istanze dello stesso blocco su una pagina.

3
Zach Harkey

Se hai già un modulo personalizzato per il sito, puoi definire i tuoi blocchi per ripetere il contenuto di un blocco esistente. Apparirà quindi due volte nell'elenco dei blocchi

/* -------------------
    custom blocks
----------------- */

/**
* Declare what blocks are provided by this module.
* Implements hook_block_info().
*/
function MYMODULE_block_info(){

    $block['fibble_home'] = array(
        'info' => t('fibble (home)'),
        'cache' => DRUPAL_CACHE_PER_ROLE,
    );
    $block['fibble_members'] = array(
        'info' => t('fibble (members)'),
        'cache' => DRUPAL_CACHE_PER_ROLE,
    );
    return $block;
}

/**
* Define what our block is going to look like.
* Implements hook_block_view().
*/
function MYMODULE_block_view($block_key){
    $block = array();

    // tweets block to appear twice

    if($block_key == 'fibble_home' || $block_key == 'fibble_members'){ 

        //This is the title of the block.
        $block['subject'] = t('Fibble');

        $fblock = module_invoke('MODULE_ORIGINAL_BLOCK', 'block_view', 'ID_ORIGINAL_BLOCK');
        $fcontent = render($fblock['content']);

        $block['content'] = '<!-- content repeated by MYMODULE -->';
        $block['content'] .= $fcontent;

    }

    return $block;
}
2
commonpike

Utilizzare il modulo MultiBlock .

Vai a Struttura-> Blocchi-> Istanze. Assegna un titolo di istanza univoco e seleziona il tipo di blocco e salva. Quindi abilitare il blocco assegnandolo a una regione in cui si desidera.

Anche il modulo Bean ora ha questa funzionalità. Non solo per entità di blocco personalizzate ma anche per blocchi definiti in hook_block. Vedi la versione dev e il sottomodulo bean_all.

0
indytechcook