2010-10-18 58 views
0

我目前写生成的块的模块。输出应该由模板定义。没有什么特别的,但这些论点似乎并没有得到适当的传递。hook_theme()不传递参数

这是主题,方法:

/* # Theme {{{*/ 
function browse_by_taxonomy_theme() { 
    return array(
    'browse_by_taxonomy_block' => array(
     'template' => 'browse_by_taxonomy_block', 
     'arguments' => array(
     'next' => null, 
     'previous' => null, 
     'term' => null, 
     'hide_if_null' => variable_get('browse_by_taxonomy_hide_links', false) 
    ) 
    ) 
); 
}/*}}}*/ 

而且它被称为这样的:

$block['content'] = theme('browse_by_taxonomy_block', "next", "previous", $tid); 

甚至当我把它放到最低的这一点,不工作:

function browse_by_taxonomy_block($op = 'list', $delta = 0, $edit = array()) { 
    switch ($op) { 
    case 'list': 
     $block = array(array('info' => t("Browse by taxonomy"))); 
     return $block; 

    case 'view': 
     # […] Dragons be here 
     return array(
     'subject' => null, 
     'content' => theme('browse_by_taxonomy_block', "next", "previous", "p") 
    ); 
    } 
}/*}}}*/ 

但在我的模板的一切null

var_dump($previous); # => NULL 
var_dump($next); # => NULL 
var_dump($hide_if_null); # => NULL 
var_dump($term); # => NULL 

在我写的另一个模块中,我做了几乎相同的方式,它的工作原理。这次我错了什么?

+0

它必须来自于别的东西的模块,因为这看起来不错,它应该工作。 – wildpeaks 2010-10-18 11:15:15

+0

使用'get_defined_vars()'定义变量吗? – googletorp 2010-10-18 11:27:08

+0

@ wildpeaks即使我的缩小版本与每一个魔术剥离不起作用。 – 2010-10-18 11:30:12

回答

1

最有可能的问题是由缓存问题引起的,如Drupal的缓存出于性能方面的所有主题的信息。

-1

缓存是在这种情况下,我的弗洛伊德魔鬼......刚刚刷新你的主题,它很可能会工作。那是在我的情况的东西ATLEAST,之后充满了大量的咒骂和脏话的很长很长很长的搜索,我终于尝试,和宾果...