Respostas:
O módulo Multiblock torna isso possível:
O módulo de bloco do Drupal é limitado pelo fato de um bloco ter apenas uma instância. Cada bloco tem um relacionamento 1: 1 com suas configurações de região, peso, visibilidade (e outras). Isso significa que é impossível ter blocos em várias regiões ou blocos com configurações diferentes em páginas diferentes. O módulo MultiBlock resolve esse problema, permitindo criar várias instâncias de bloco de blocos já existentes.
Não está claro se você deseja usar o mesmo bloco mais de uma vez na mesma página ou colocá-lo em regiões diferentes em páginas diferentes. De qualquer maneira, eu recomendaria que você desse uma olhada no módulo de contexto .
Usando o contexto, você pode colocar um bloco em diferentes regiões em diferentes páginas. Como alternativa, você pode criar 2 contextos que se aplicam às mesmas páginas e colocar o mesmo bloco em diferentes regiões.
O módulo Painéis também facilita o uso de várias instâncias do mesmo bloco em uma página.
Se você já possui um módulo personalizado para o site, pode definir seus próprios blocos para repetir o conteúdo de um bloco existente. Aparecerá duas vezes na lista de bloqueios
/* -------------------
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;
}
Use o módulo MultiBlock .
Vá para Estrutura-> Blocos-> Instâncias. Atribua um título de instância exclusivo, selecione o tipo de bloco e salve. Em seguida, ative o bloco atribuindo-o a uma região onde deseja.
O módulo Bean também agora tem essa funcionalidade. Não apenas para entidades de bloco personalizadas, mas também para blocos definidos em hook_block. Veja a versão dev e o sub-módulo bean_all.