我在干净的Pressflow安装中实现hook_block挂钩时遇到了麻烦。由于某种原因,它总是为我的所有块输出ArrayArray。原因是主题函数中的$ info变量设置为:
["block"]=>
array(7) {
["function"]=>
string(10) "fwtb_block"
["include files"]=>
array(0) {
}
["type"]=>
string(12) "theme_engine"
["theme path"]=>
string(21) "sites/all/themes/fwtb"
["arguments"]=>
array(1) {
["block"]=>
NULL
}
["theme paths"]=>
array(2) {
[0]=>
string(14) "modules/system"
[1]=>
string(21) "sites/all/themes/fwtb"
}
["preprocess functions"]=>
array(2) {
[0]=>
string(19) "template_preprocess"
[1]=>
string(25) "template_preprocess_block"
}
}
正如您所看到的,我的自定义hook_block方法会覆盖它。所以现在它认为应该使用我的fwtb_block方法呈现块,该方法返回包含主题和内容的数组。这就是它打印ArrayArray的原因。知道这里出了什么问题吗?
这是我的hook_block实现:
function fwtb_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
case 'list':
$blocks['sidebar_description'] = array(
'info' => t('Sidebar description'),
'cache' => BLOCK_CACHE_GLOBAL,
'status' => TRUE,
'region' => 'left',
'visibility' => 0,
'custom' => FALSE
);
return $blocks;
case 'configure':
$form = array();
return $form;
case 'save':
return;
case 'view': default:
switch ($delta) {
case 'sidebar_description':
$block['subject'] = t('block_subject');
$block['content'] = t('block_description');
break;
}
return $block;
}
}
亲切的问候, 大安答案 0 :(得分:0)
重新审视我的设置后,我看到了问题所在。我有一个主题和一个同名的模块。这引起了一些冲突:/