我目前正在编写一个生成块的模块。输出应由模板定义。没什么特别的,但这些论据似乎没有得到正确的通过。
这是主题方法:
/* # 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 :(得分:1)
最有可能的问题是由缓存问题引起的,因为Drupal出于性能原因缓存了所有主题信息。
答案 1 :(得分:-1)
在这种情况下,缓存是我的朋友......只需刷新你的主题,它很可能会有效。至少在我的情况下,经过长时间的长时间搜索,充满了大量的诅咒和咒骂,我终于尝试了这个和BINGO ......