2011-09-09 34 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