В Drupal 7 кастомные поля по умолчанию доступны в шаблоне node.tpl.php, но не в page.tpl.php. Это создаёт неудобства, когда нужно вывести поля рядом с заголовком страницы в едином шаблоне.
Решение заключается в использовании встроенных функций Drupal для рендеринга полей напрямую через объект ноды. Сначала проверяем существование поля, затем рендерим его значение.
Код решения
Добавьте следующий фрагмент в файл page.tpl.php:
field_image['und'])): ?> field_image['und'][0]); print render($temp_var); ?>
Как это работает
Здесь используются две стандартные функции Drupal:
field_view_value() — рендерит отдельное значение поля с полной темизацией. Принимает тип сущности, объект сущности, имя поля и значение поля.
render() — преобразует render array в HTML-строку и выводит результат.
Проверка через isset() перед обращением к полю обязательна — иначе на страницах без ноды (например, на главной) возникнет ошибка.
Замените field_image на имя вашего поля. Этот подход работает для любых типов полей: текстовых, изображений, ссылок и других.