Drupal:视图组合多个块输出

Drupal:视图组合多个块输出,drupal,drupal-views,drupal-blocks,Drupal,Drupal Views,Drupal Blocks,我正在考虑创建三个不同的块,组合它们,然后随机化输出 例如: 块1: 块2: 块3: 将这三者结合起来并随机化,使输出看起来像 ,等 显然,我已经删去了一堆代码,所以请不要对此发表评论 /** * Implementation of hook_block(). */ function _report_block($op = 'list', $delta = 0, $edit = array()) { if ($op == 'list') { $blocks['custom_blo

我正在考虑创建三个不同的块,组合它们,然后随机化输出

例如:

块1:

块2:

块3:

将这三者结合起来并随机化,使输出看起来像

显然,我已经删去了一堆代码,所以请不要对此发表评论

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