2011-03-02 116 views
1

我有一个在Drupal 7中创建的自定义模块,我希望它显示一些HTML内容。这是我的方式。drupal 7自定义内容hook_theme输出

但它不工作,我做错了什么?

<?php 

/** 
* Implements hook_block_info(). 
*/ 
function submenus_block_info() { 
    $blocks = array(); 

    $blocks['info'] = array(
     'info' => t('The submenu zone') 
    ); 

    return $blocks; 
} 

/** 
* Implements hook_block_view(). 
* 
*/ 
function submenus_block_view($delta = '') { 
    $block = array(); 
    $users = "edf"; 
    $title = "sdfsd"; 
    $block['subject'] = t('Submenu'); 
    $block['content'] = theme('submenus_output', array('users' => $users, 'title' => $title)); 
     return $block; 
} 

/** 
* Implement hook_theme() 
*/ 
function submenus_theme() { 
    return array(
     'submenus_output' => array(
      'variables' => array('users' => NULL, 'title' => NULL), 
     ), 
    ); 
} 

/** 
* Display output 
*/ 
function theme_submenus_output($somearray) { 
    $content = '<div>TEST</div>'; 

    return $content; 
} 

?> 

回答

1

我查了一下,有什么错代码:新的块是块列表可供选择,如果你把它分配给一个区域,该块被调用,并从自定义主题功能的代码被展示。


所以,你可以尝试这些东西:

  • Administration > Configuration > Development > Performance

    ,清除缓存

  • Administration > Structure > Blocks

    ,确保该块被分配到一个真实存在的区域(如“内容“),如果是,请单击”Configure“链接查看是否有过滤器阻止其显示。

+0

谢谢你,这个问题清楚了缓存。但现在显示两次,我会检查它。 – 2011-03-02 13:57:01