Drupal 7 开发内部培训资料, 分头诗人

block中如何默认在所有页面都显示,如何在一个module中显示多个block

赞成!
0
否决!

2个问题哈

第一个

1
2
3
4
5
6
7
8
9
10
//导航
  $blocks['navigation-list'] = array(
    'info' => t('Navigation'),
    'status' => TRUE,
    'region' => 'navigation',
    'weight' => -1,
    'visibility' => 1,
    'cache' => DRUPAL_NO_CACHE,
  );
我这样写,在block的configure中

默认是选择第二个的,咋让他默认选择第一个?

第二个问题:

1
2
3
4
5
6
7
8
9
10
11
12
function slides_block_view($delta = '') {
  $block = array();
  switch($delta) {
    case 'slides-list':
      $block['content'] = slides_list($delta);
      break;
    case 'navigation-list':
      $block['content'] = '232323';
      break;
  }
  return $block;  
}

这样写只会显示前面的block就return了,如何显示所有block呢?

1 个回答

赞成!
0
否决!

第一个问题http://api.drupal.org/api/drupal/modules%21block%21block.api.php/functio...

visibility 属性。

 

第二个问题,试一下别用switch 改用if

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function slides_block_view($delta = '') {
  if ($delta == 'slides-list'){
    $content = slides_list($delta);
    $block = array(
      'subject' => t('slides-list'),
      'content' => $content,
    );
  }
  if ($delta == 'navigation-list'){
    $content = navigation_list($delta);
    $block = array(
      'subject' => t('navigation-list'),
      'content' => $content,
    );
  }
  return $block; 
}