background cms module-created blocks deltas not working

时间:2018-03-28 23:13:51

标签: module drupal-7 block

(用drupal7标记,因为我无法为背景创建标记)

我有一个全新的背景安装,一个新的主题来自bartik,一个新的布局来自moscone_flipped。没有代码改变那些。

我有一个模块可以创建2个简单的块,大多数只是一些html。我已经实现了hook_block_info()和hook_block_view()。我可以使用admin ui将块放置在布局中的区域中。当我放置其中一个时,我可以看到前端页面上的每个块。但不是两个。当我在布局中放置了两个块时,由于某种原因,两个区域都显示同一块的输出。我已经验证它始终是从hook_block_info()返回的数组中定义的第一个块。我已经清除了缓存,检查代码等。

以前有人见过这个吗?

顺便说一句,我刚刚应用了最近的安全升级,升级前后的行为都是一样的。

我会粘贴下面的模块代码,以防错过了什么。

感谢任何人提供的任何帮助。

// implements hook_block_info()
function mbr_block_info()
{
  $info = array();
  $info['rate-tables'] = array(
    'info' => 'Rate Tables (Buttons)',
    'description' => 'The displays the rate table links for the sidebar',
  );
  $info['mbr-footer'] = array(
    'info' => 'MBR Footer',
    'description' => 'Displays footer links, disclaimer, copyright',
  );  
  return($info);
}

// implements hook_block_view()
function mbr_block_view($delta = '', $settings = array(), $contexts = array())
{
  $block = array();
  switch($delta)
  {
    case 'mbr-footer':
      $subject = null;
      $mbrFooter = getMBRFooterBlock();
      $block = array('subject' => $subject, 'content' => $mbrFooter);
    case 'rate-tables':
      $subject = null;
      $rateTables = getRateTablesBlock();
      $block = array('subject' => $subject, 'content' => $rateTables);
  }
  return($block);
}

0 个答案:

没有答案