Тема поднималась не раз, но я только осваиваю drupal, поэтому все равно не понятно.
Везде пишут что заменить заголовок можно хуком hook_preprocess_page(), либо hook_form_BASE_FORM_ID_alter, либо hook_form_alter. Разъясните пожалуйста какой лучше. И, самое главное, как и где его прописывать? (3 дня пытаюсь разобраться с хуками, все равно не понятно). И какое имя модуля должно быть?
Заранее благодарен за ответы, уверен подробный ответ многим поможет понять суть хуков.
Комментарии
Так как устанавливается он вот здесь
global $user;
$types = node_type_get_types();
$node = (object) array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => $type, 'language' => LANGUAGE_NONE);
drupal_set_title(t('Create @Name', array('@Name' => $types[$type]->name)), PASS_THROUGH);
$output = drupal_get_form($type . '_node_form', $node);
return $output;
}
То логично было бы использовать hook_menu_alter() для переопределения
if ($form_id == 'FORM_ID') {
drupal_set_title('NEW TITLE');
}
}
Спасибо за ответы. Но я так и не понял, где эти хуки прописывать? node.page.inc? И какой модуль указывать вместо MODULE?
http://xandeadx.ru/blog/drupal/256
http://habrahabr.ru/post/200340/
drupal+свой+модуль
Т.е. все хуки в своем модуле прописываются? Если я правильно понял, создаю собственный модуль, содержащий пока единственный хук (тот что привел Niklan, но вместо MODULE название этого же модуля) и этого достаточно? Очень прошу подтвердить или опровергнуть это мое предположение, это бы сразу сняло кучу вопросов по хукам.
@alnov ага. Еще как новичку посоветую не боятся пробовать и не переживать если не получилось с первого раза. Не нужно ждать пока тебе готовый ответ дадут. Только появились идеи - сразу пробуй реализовать на тестовом сайте. Так ты быстрее разберешься и научишься .
если один хук то проще в template темы прописать. Если не проще, то да в модуль и название модуля.
Всем спасибо, все получилось. Даже не ожидал что это все так просто делается