it-swarm-id.com

Tempatkan blok di beberapa wilayah

Apakah ada modul yang dapat memungkinkan pengguna untuk menempatkan blok yang sama di beberapa wilayah? Dengan begitu saya tidak perlu membuat blok View yang sama dua kali.

12
enchance

Multiblock modul memungkinkan ini:

Modul blok Drupal dibatasi oleh fakta bahwa blok hanya dapat memiliki satu instance. Setiap blok memiliki hubungan 1: 1 dengan wilayah, berat, pengaturan visibilitas (dan lainnya). Ini berarti bahwa tidak mungkin untuk memiliki blok di beberapa wilayah atau untuk memiliki blok yang memiliki pengaturan berbeda pada halaman yang berbeda. Modul MultiBlock menyelesaikan masalah ini dengan memungkinkan Anda membuat beberapa Instance Block dari blok yang sudah ada.

16
tostinni

Tidak jelas apakah Anda ingin menggunakan blok yang sama lebih dari satu kali di halaman yang sama atau menempatkannya di wilayah yang berbeda di halaman yang berbeda. Either way saya akan merekomendasikan Anda melihat modul konteks .

Menggunakan konteks Anda dapat menempatkan blok dengan di berbagai wilayah di halaman yang berbeda. Atau Anda dapat membuat 2 konteks yang berlaku untuk halaman yang sama dan menempatkan blok yang sama di wilayah yang berbeda.

6
skwashd

The Modul panel juga membuatnya mudah untuk menggunakan banyak instance dari blok yang sama pada halaman.

3
Zach Harkey

Jika Anda sudah memiliki modul khusus untuk situs tersebut, Anda dapat menentukan blok Anda sendiri untuk mengulangi konten dari blok yang ada. Kemudian akan muncul dua kali dalam daftar blokir

/* -------------------
    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

Gunakan Modul MultiBlock .

Pergi ke Struktur-> Blok-> Instans. Berikan judul instance yang unik dan pilih jenis blok dan simpan. Kemudian aktifkan blok dengan menetapkannya ke wilayah di mana Anda inginkan.

Modul Bean juga sekarang memiliki fungsi ini. Tidak hanya untuk entitas blok khusus tetapi juga untuk blok yang ditentukan dalam hook_block. Lihat versi dev dan submodule bean_all.

0
indytechcook