我目前写生成的块的模块。输出应该由模板定义。没有什么特别的,但这些论点似乎并没有得到适当的传递。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
在我写的另一个模块中,我做了几乎相同的方式,它的工作原理。这次我错了什么?
它必须来自于别的东西的模块,因为这看起来不错,它应该工作。 – wildpeaks 2010-10-18 11:15:15
使用'get_defined_vars()'定义变量吗? – googletorp 2010-10-18 11:27:08
@ wildpeaks即使我的缩小版本与每一个魔术剥离不起作用。 – 2010-10-18 11:30:12