Вывод заголовка страницы title с помощью CCK

Главные вкладки

Аватар пользователя K0r5hun K0r5hun 23 декабря 2011 в 16:43

Появилась необходимость вывести изменённый заголовок страницы.

1) Создаём в Типе материала новое CKK Текстовое поле: field_page_title

Вариант 1:
Модули page_title + token позволяют вывести данное поле.

В настройках модуля page_title (/admin/config/search/page-title) у страницы "Content Type - Страница" поставьте галочку и задайте следующее значение:
[node:field_page_title]

Недостаток в том, что если поле не заполнено, то в заголовке выводится текст с названием поля [node:field_page_title].

Вариант 2:
Вообщем стал я искать другой способ и решил данный вопрос через систему хуков слева и справа Smile

Для этого добавляем код в файл template.php с вашей темой. WOLQRU - заменяем на название вашей темы, field_page_title - заменяйте на название вашего дополнительного поля.

function WOLQRU_preprocess_html(&$variables, $hook) {
  if ($node = menu_get_object()) {
    $title = field_get_items('node', $node, 'field_page_title');
    if($title != false) {
          $variables['head_title'] = $title[0]['value'];
    }
  } else {
    $variables['head_title'] = drupal_get_title();
  }
}

Теперь если значение в поле CCK не задано - то выводится стандартное, если задано - то выводится значение из поля.