Изменение заголовка ноды с помощью template_preprocess_page

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

Аватар пользователя KEFIR4UK KEFIR4UK 14 ноября 2014 в 18:57

Вот такая задача: нужно изменить заголовок ноды с помощью template_preprocess_page.
Для этого в папке с темой(тема называется NineSixty (960 Grid System), в файле info я изменил имя темы на My_theme) в конце файла page.tpl.php (машинное название материала в которой создана нода - test_materials)
добавил во такую запись:

function My_theme_preprocess_page(&$variable) {
if (isset($variable['title'])) {
if ($variables['node']->type == 'test_materials') {
$variables['title'] = 'Новости';
}
}

}
Но заголовок так и не изменился. Прошу поправить меня, где ошибся и что сделал не так.

Комментарии

Аватар пользователя KEFIR4UK KEFIR4UK 14 ноября 2014 в 19:59

в template.php пишу var_dump($variables) выводит NULL, когда я даже прописываю в теплейте ориганальной темы NineSixty тоже, выводиться NULL, как так?

Аватар пользователя Orion76 Orion76 14 ноября 2014 в 23:59

"KEFIR4UK" wrote:
в файле info я изменил имя темы на My_theme)

"машинное" имя темы, которое используется в хуках не то, которое в файле info, а то, которое- имя папки темы.

Аватар пользователя KEFIR4UK KEFIR4UK 15 ноября 2014 в 12:50

Вопрос решил вот таким способом:
в файле template.php в функции my_theme_preprocess_page

if (arg(1) == 16 && arg(0) == 'node') {
$vars['title'] = 'Example template_preprocess_page!';
}
Где arg(1) это массив с номерами нод, 16- номер ноды в которой нужно поменять заголовок, arg(0) - тип (блок,нода и тд.)