Drupal Block не отображается на странице - PullRequest
0 голосов
/ 09 марта 2012
$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'

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

Я дважды проверил значения, и даже admin / structure / block / manage / xdmp / onemore / configure имеет значение, но регион не выбран.

Я предполагаю, что существует некоторый конфликт в каждом цикле или запросе базы данных.Пожалуйста, посоветуйте свои мысли по этому поводу.

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 Ответ

1 голос
/ 09 марта 2012

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

...