Вот такая задача: нужно изменить заголовок ноды с помощью 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'] = 'Новости';
}
}
}
Но заголовок так и не изменился. Прошу поправить меня, где ошибся и что сделал не так.
Комментарии
в конце файла page.tpl.php --- надо в конце файла template.php
Да и так тоже делал, не дает результата
https://api.drupal.org/api/drupal/modules!node!node.module/function/temp...
Это надо дописать в template.php
Писал, не изменилось
в template.php пишу var_dump($variables) выводит NULL, когда я даже прописываю в теплейте ориганальной темы NineSixty тоже, выводиться NULL, как так?
"машинное" имя темы, которое используется в хуках не то, которое в файле info, а то, которое- имя папки темы.
Вопрос решил вот таким способом:
в файле template.php в функции my_theme_preprocess_page
if (arg(1) == 16 && arg(0) == 'node') {
$vars['title'] = 'Example template_preprocess_page!';
}
Где arg(1) это массив с номерами нод, 16- номер ноды в которой нужно поменять заголовок, arg(0) - тип (блок,нода и тд.)