it-swarm-vi.com

Đặt một khối trong nhiều khu vực

Có một mô-đun có thể cho phép người dùng đặt cùng một khối trong nhiều khu vực không? Bằng cách đó, tôi không phải thực hiện cùng một khối View hai lần.

12
enchance

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.

16
tostinni

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.

6
skwashd

Mô-đun bảng cũng giúp bạn dễ dàng sử dụng nhiều phiên bản của cùng một khối trên một trang.

3
Zach Harkey

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;
}
2
commonpike

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.

Mô đun Bean hiện 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.

0
indytechcook