Если нужно переместить блок и установить его за каким-то другим блоком, а сделать через админку это по какой-то причине нельзя, ну например на разных страницах должен быть разный порядок следования блоков, то в этом случае в препроцессе страницы можно пересортировать блоки. Например так:
$block_before = 'block1';
$block_after = 'block8';
if (drupal_is_front_page() && isset($vars['page']['content'][$block_after], $vars['page']['content'][$block_before])) {
$content = array();
foreach ($vars['page']['content'] as $key => $value) {
if ($key == $block_after)
continue;
$content[$key] = $value;
if ($key == $block_before)
$content[$block_after] = $vars['page']['content'][$block_after];
}
$vars['page']['content'] = $content;
}