При разработки сайта на начальном этапе, такие вещи целесообразно продумывать заранее и сразу использовать такие модули, как Context или Panels для управления расположением блоков контента. Но если сайт действующий, на котором эти модули не использованы, то порядок блоков можно заменить программно. В примере ниже блоки меняются для ноды 147, вес (порядок) указывается в #weight:
function MODULE_page_alter(&$page){
if( menu_get_object() && menu_get_object()->nid == 147 ){
$page['content']['#sorted'] = false;
$page['content']['block_23']['#weight'] = 1;
$page['content']['block_11']['#weight'] = 2;
}
}
Для точного позиционирования вес придется записать для всех блоков, чтобы вес не дублировался.
Добавить комментарий