$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;
}
веселит, Вишал
Я уверен, что область содержимого действительна, когда она отображается вручную, когда я вручную присваиваю значения функции hook_block_info –