2012-03-09 4 views
0
$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', 
); 

проблема - выше блок показывает и работает отлично, как и ожидалось на уровне «админ/структуры/nodequeue/1/вид/1»Drupal блок не отображается на странице

Моя проблема заключается в том, что мне нужно объявлять динамические количества блоков на основе входных данных пользователей. Поэтому я написал db fetch и для каждого цикла. Если я это сделаю, блок появится в «admin/modules», но он не находится в области контента для семи тем. Я хочу показать это там.

Я дважды проверил значения, и даже 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

уверен, что 'content' область действительна ли вы? Если это не так, конечно, не может отображаться :)

+0

Я уверен, что область содержимого действительна, когда она отображается вручную, когда я вручную присваиваю значения функции hook_block_info –