Drupal Block没有显示在页面上

时间:2012-03-09 03:24:28

标签: drupal drupal-7 drupal-modules

$blocks['onemore'] = array(
'info' => t('onemore'),
'status' => TRUE,
'region' => 'content',
'weight' => 0,
'cache' => DRUPAL_NO_CACHE,
'visibility' => BLOCK_VISIBILITY_LISTED,
'pages' => 'admin/structure/nodequeue/1/view/1',   
 );

问题 - 上面的块显示并且在'admin / structure / nodequeue / 1 / view / 1'中正常运行并且正常工作

我的问题是我需要根据用户输入声明动态数量的块。所以我为每个循环写了一个db fetch。 如果我这样做,那么该块显示在'admin / modules'中,但它不在七个主题的'content'区域中。我想在那里展示它。

我已仔细检查了这些值,甚至admin / structure / block / manage / xdmp / onemore / configure都有值,但未选中该区域。

我假设每个循环或db查询都存在一些冲突。请就此提出自己的想法。

function xdmp_block_info() {
$blocks = array();
// Here we are going to do a db query so that I can get a list of 
// block ids to declare
$resultxdmp = db_query("
SELECT * FROM xdmp_container_list ");


foreach($resultxdmp as $resultRecords)
{    
$xdmp_nodeque_id_to_display =(int)$resultRecords->xdmp_nodequeue_id;
$xdmp_nodeque_id_to_display = intval($xdmp_nodeque_id_to_display);

$xdmp_path_to_show_block = 'admin/structure/nodequeue/'.$xdmp_nodeque_id_to_display.'
/view/'.$xdmp_nodeque_id_to_display.'';


$xdmp_machinenameofblock=(string)$resultRecords->xdmp_container_machine_name;
$xdmp_nameofblock=(string)$resultRecords->xdmp_container_name;



$blocks[$xdmp_machinenameofblock] = array(
'info' => t($xdmp_nameofblock),
'status' => TRUE,
'region' => 'content',
'weight' => 0,
'cache' => DRUPAL_NO_CACHE,
'visibility' => BLOCK_VISIBILITY_LISTED,
'pages' => $xdmp_path_to_show_block,   
);

  } // end for for each 

return $blocks;
}

欢呼声, 维沙尔

1 个答案:

答案 0 :(得分:1)

您确定'content'区域有效吗?如果不是,它当然不会出现:)