Відповіді:
Багатоблоковий модуль робить це можливим:
Блок модуля Drupal обмежений тим, що блок може мати лише один екземпляр. Кожен блок має відношення 1: 1 із налаштуваннями регіону, ваги, видимості (та інших). Це означає, що неможливо мати блоки в декількох регіонах або мати блоки, які мають різні налаштування на різних сторінках. Модуль MultiBlock вирішує цю проблему, дозволяючи створювати кілька блокових екземплярів вже існуючих блоків.
Незрозуміло, чи хочете ви використовувати один і той же блок більше одного разу на одній сторінці або розміщувати його в різних регіонах на різних сторінках. У будь-якому випадку я б рекомендував вам поглянути на контекстний модуль .
Використовуючи контекст, ви можете розмістити блок в різних регіонах на різних сторінках. Крім того, ви можете створити 2 контексти, які застосовуються до однієї сторінки / сторінок і розміщують один і той же блок в різних регіонах.
Якщо у вас вже є спеціальний модуль для сайту, ви можете визначити власні блоки для повторення вмісту існуючого блоку. Потім він з’явиться двічі у списку блоків
/* -------------------
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;
}
Використовуйте модуль MultiBlock .
Перейдіть до Структура-> Блоки-> Екземпляри. Дайте унікальну назву екземпляра та виберіть тип блоку та збережіть. Потім увімкніть блок, призначивши його в потрібний вам регіон.
Модуль Bean також тепер має цю функціональність. Не тільки для спеціальних блокових об'єктів, але і для блоків, визначених у гачку_блока. Дивіться версію розробника та підмодуль bean_all.