2011-09-09 44 views
0

我有一个模块,我已经激活,但它不显示在禁用块列表中。模块不显示在块(6.x)

模块被命名为 “我的模块”

里面的文件夹my_module我:
my_module.module
my_module.info

my_module.info:

name = My Module 
description = My module description. 
core = 6.x 
package = My Modules 

my_module。模块

<?php 
function hook_block($op = 'list', $delta = 0, $edit = array()){ 
    switch ($op) { 
     case 'list': 
      $block = array(); 
      //List out all blocks you want to create here 
      $block[0]["info"] = t('Display info'); 
      break; 
     case 'view':  
      switch ($delta) { 
      case 0: 
        $block['subject'] = "ADMIN Header of the block"; 
        global $user; 
        if(in_array('Site admin', array_values($user->roles) || $user->uid == 1)){ 

        $block['content'] = "input form"; 
        $block['subject'] = "Header of the block"; 
       } 

      break; 
      } 
    }   
} 
?> 

回答

1

你的钩子调用没有返回任何值。您需要返回数组才能显示。在编写hook_block的实现时,我也从不倾向于使用break;

尝试删除break;并在两种情况下都添加return $block;

e.g

case 'list': 
     $block = array(); 
     //List out all blocks you want to create here 
     $block[0]["info"] = t('Display info'); 
     return $block; 

case 'view':  
     switch ($delta) { 
     case 0: 
       $block['subject'] = "ADMIN Header of the block"; 
       global $user; 
       if(in_array('Site admin', array_values($user->roles) || $user->uid == 1)){ 

       $block['content'] = "input form"; 
       $block['subject'] = "Header of the block"; 
      } 

     return $block; 

我相信你已经看到了,但是这可能是别人http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_block/6

+0

利于你为什么不使用破? – kylex

+0

就我所知,根本没有hook_block的实际需求。我总是用break;如果我的交换机中有逻辑,但在这种情况下,您需要执行交换机的每个部分。 对不起,如果没有什么意义......它太接近我的工作日结束了;-) – Chapabu