web-gelistirme-sc.com

Birden çok bölgeye blok yerleştirme

Kullanıcıların aynı bloğu birden fazla bölgeye yerleştirmesine izin verebilecek bir modül var mı? Bu şekilde aynı Görünüm bloğunu iki kez yapmak zorunda kalmam.

12
enchance

Multiblock modülü bunu mümkün kılar:

Drupal'ın blok modülü, bir bloğun sadece bir örneği olabileceği gerçeğiyle sınırlıdır. Her bloğun bölge, ağırlık, görünürlük (ve diğer) ayarlarıyla 1: 1 ilişkisi vardır. Bu, birden fazla bölgede blok bulundurmanın veya farklı sayfalarda farklı ayarlara sahip bloklara sahip olmanın imkansız olduğu anlamına gelir. MultiBlock modülü, zaten var olan blokların birden fazla Blok Örneği oluşturmanıza izin vererek bu sorunu çözer.

16
tostinni

Aynı bloğu aynı sayfada birden çok kez kullanmak mı yoksa farklı sayfalarda farklı bölgelere yerleştirmek mi istediğiniz belli değil. Her iki durumda da bağlam modülü .

Bağlamı kullanarak farklı sayfalarda farklı bölgelere bir blok yerleştirebilirsiniz. Alternatif olarak, aynı sayfalara uygulanan ve aynı bloğu farklı bölgelere yerleştiren 2 bağlam oluşturabilirsiniz.

6
skwashd

Paneller modülü aynı sayfada aynı bloğun birden çok örneğini kullanmayı kolaylaştırır.

3
Zach Harkey

Site için zaten özel bir modülünüz varsa, mevcut bir bloğun içeriğini tekrarlamak için kendi bloklarınızı tanımlayabilirsiniz. Daha sonra blok listesinde iki kez görünür

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

MultiBlock Modülünü kullanın.

Yapı-> Bloklar-> Örnekler'e gidin. Benzersiz bir örnek başlığı verin ve blok türünü seçin ve kaydedin. Ardından, istediğiniz bölgeye atayarak bloğu etkinleştirin.

Bean modülü artık bu işlevselliğe sahiptir. Sadece özel blok varlıkları için değil, hook_block içinde tanımlanan bloklar için de geçerlidir. Geliştirici sürümüne ve bean_all alt modülüne bakın.

0
indytechcook