Получить переменную $ node в html.tpl.php - Drupal 7 - PullRequest
8 голосов
/ 05 августа 2011

Я пытаюсь разрешить пользователям обновлять заголовки заголовков и метаописания для каждой страницы. Я подумал, что простым способом добиться этого было бы добавить поле к типу контента «Базовая страница» для заголовка страницы, а затем проверить, не является ли это поле пустым в html.tpl.php и, если это не так, переопределить $ head_title с этим пользовательским значением.

Однако, похоже, переменная $ node недоступна в html.tpl.php. Может кто-нибудь предложить мне способ сделать эти данные доступными в этом файле шаблона или, альтернативно, изменить $ head_title перед отправкой в ​​html.tpl.php? Спасибо за чтение.

Ответы [ 2 ]

9 голосов
/ 05 августа 2011

Взято частично из этой темы, которую я нашел: http://drupal.org/node/1041768...

В вашем template.php вы можете сделать следующее:

function yourtheme_preprocess_html(&$variables) {
  // If on an individual node page, add the node type to body classes.
  if ($node = menu_get_object()) {
    $variables['head_title'] = $node-> // find your cck field here
  }
}
3 голосов
/ 05 августа 2011

Немного грязно, но будет работать:

if(arg(0) == 'node' && !empty(arg(1))) {
  $node = node_load(arg(1));
}

Однако вы можете предпочесть http://drupal.org/project/metatags_quick (промежуточный модуль до полного заполнения http://drupal.org/project/metatags).

...