Câu trả lời:
Multiblock mô-đun làm cho điều này có thể:
Mô-đun khối của Drupal bị giới hạn bởi thực tế là một khối chỉ có thể có một thể hiện. Mỗi khối có mối quan hệ 1: 1 với các cài đặt vùng, trọng lượng, mức độ hiển thị (và các thứ khác). Điều này có nghĩa là không thể có các khối trong nhiều vùng hoặc có các khối có cài đặt khác nhau trên các trang khác nhau. Mô-đun MultiBlock giải quyết vấn đề này bằng cách cho phép bạn tạo nhiều Trường hợp khối của các khối đã tồn tại.
Không rõ nếu bạn muốn sử dụng cùng một khối nhiều lần trên cùng một trang hoặc đặt nó ở các khu vực khác nhau trên các trang khác nhau. Dù bằng cách nào tôi cũng khuyên bạn nên xem mô-đun ngữ cảnh .
Sử dụng bối cảnh, bạn có thể đặt một khối với các vùng khác nhau trên các trang khác nhau. Ngoài ra, bạn có thể tạo 2 bối cảnh áp dụng cho cùng một trang và đặt cùng một khối ở các vùng khác nhau.
Các Panels mô-đun cũng làm cho nó dễ dàng để sử dụng nhiều trường hợp của cùng một khối trên một trang.
Nếu bạn đã có một mô-đun tùy chỉnh cho trang web, bạn có thể xác định các khối của riêng mình để lặp lại nội dung của một khối hiện có. Sau đó nó sẽ xuất hiện hai lần trong danh sách khối
/* -------------------
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;
}
Sử dụng Mô-đun MultiBlock .
Đi đến Cấu trúc-> Khối-> Trường hợp. Đưa ra một tiêu đề cá thể duy nhất và chọn loại khối và lưu. Sau đó kích hoạt khối bằng cách gán nó cho một khu vực mà bạn muốn.
Các Bean mô-đun bây giờ cũng có chức năng này. Không chỉ cho các thực thể khối tùy chỉnh mà còn cho các khối được xác định trong hook_block. Xem phiên bản dev và mô hình con bean_all.