[Решено] Как вывести картинку из поля ноды в шаблоне page.tpl.php?

Аватар пользователя lipinart

Шаблон сверстан таким образом, что каждая нода имеет свою уникальную фоновую картинку, что исключает ее вывод в регионе $content.
По сути, достаточно только получить url изображения, каким образом можно передать его в виде переменной из node.tpl в page.tpl?

Ключевые слова:
Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя bumble
bumble 9 месяцев назад
2

В template.php темы:

<?php
function MY_THEME_preprocess_page(&$vars) {
  
// Получение URL изображения
  
if ($node menu_get_object()) {
    if (
$items field_get_items('node'$node'field_image')) {
      
$vars['my_image_var'] = file_create_url($items[0]['uri']);
    }
  }

  

// Или, получение изображения со стилем
  
if ($node menu_get_object()) {
    if (
$items field_get_items('node'$node'field_image')) {
      
$vars['my_image_var'] = image_style_url('style_name'$items[0]['uri']);
    }
  }
}
?>

В шаблоне: $my_image_var

Аватар пользователя equilibrium07
equilibrium07 9 месяцев назад

дам подсказку
$page[content] == $node

Аватар пользователя bumble
bumble 9 месяцев назад

$page[content] != $node

$page['node'] == $node , еще может быть...

Аватар пользователя equilibrium07
equilibrium07 9 месяцев назад

ну да да, это мой косяк $page[node][content])))

Аватар пользователя bumble
bumble 9 месяцев назад

И опять же, это не нода, а ее рендер-массив будет.

Аватар пользователя lipinart
lipinart 9 месяцев назад

Дописал:
<?php if(isset($my_image_var)) print($my_image_var); ?>
иначе ругается Notice: Undefined variable,