, чтобы назначить блок региону, используйте ключ 'region' в массиве, возвращающем информацию, которая содержит название региона, которому этот блок должен быть присвоен
Например,
function module_block_info() {
$blocks = array();
$blocks[0] = array(
'info' => t('Block Title'),
'region' => 'name-of-the-region', // here is the name of the region
'status' => 1, // 1 if you want the block to be enabled by default
);
return $blocks;
}
и вы можете отключить существующий блок, используя такой запрос
db_update('block')->fields(array('region' => '', 'status' => 0))->condition('bid', $block_id)->execute();
, заменив $ block_id на идентификатор блока, который вы хотите отключить
ОБНОВЛЕНИЕ: вы можете использовать hook_block_info_alter
для отключения существующего блока
function hook_block_info_alter(&$blocks, $theme, $code_blocks) {
// Disable the login block.
$blocks['defining_module']['delta']['status'] = 0;
}
удачи