2011-04-14 1 views
1

3 개의 다른 블록을 생성하고 결합한 다음 출력을 랜덤 화합니다.Drupal : 다중 블록 출력을 결합한 뷰

EG :

블록 1 : <div id="col1">

블록 2 : <div id="col2">

블록 (3) : <div id="col3">

세 개의 결합과

<div id="col2">, <div id="col1">, <div id="col2">, <div id="col3"> 등과 같은 출력 보이는 무작위 ..

분명히 많은 코드를 잘라 냈으므로 그것에 대해 언급하지 마십시오.

답변

2
/** 
* Implementation of hook_block(). 
*/ 
function _report_block($op = 'list', $delta = 0, $edit = array()) { 
    if ($op == 'list') { 
    $blocks['custom_block'] = array(
     'info' => t('My custom block'), 
     'weight' => 0, 
     'status' => 1, 
     'cache' => BLOCK_CACHE_PER_ROLE | BLOCK_CACHE_PER_PAGE, 
    ); 
    return $blocks; 
    } 
    else if ($op == 'view') { 
    switch($delta){ 
     case 'custom_block': 
     $data['subject'] = t('Enjoy your life :)'); 
     $data['content'] = my_block_content(); 
     return $data; 
     break; 
    } 
    } 
} 

function my_block_content(){ 
    $blocks = array('block_1', 'block_2', 'block_3'); 
    $items = array(); 

    $view = views_get_view('my_view'); 
    foreach($blocks AS $block){ 
    $view->set_display($block); 
    $view->execute(); 
    $items[] = $view->result; 
    } 
    shuffle($items); 
    return $items; 
} 
+0

좋은 작품 dobeerman –