Перенос поля из ноды в боковую панель

Чтобы перенести поле , которое выводится на странице с нодой , в боковую панель (сайдбар), можно воспользоваться hook_page_alter . Именно в нем мы получаем доступ к уже полностью сформированному рендерному массиву страницы.

В файле template.php текущей темы или в файле модуля mymodule.module имплементируем данный хук и переместим поле изображения с машинным именем field_image в регион sidebar_second:


function THEMENAME_page_alter(&$page) {

  if (arg(0) == 'node' && ctype_digit(arg(1)) && $nid = arg(1)) {

    $field_image = $page['content']['system_main']['nodes'][$nid]['field_image'];

    // Вставляем рендерный массив с полем в начало сайдбара
    array_unshift($page['sidebar_second'], $field_image);

    // Убираем поле из ноды
    unset($field_image);

  }
}