Изменение заголовка формы добавления материала

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

Аватар пользователя alnov alnov 30 ноября 2015 в 23:28

Тема поднималась не раз, но я только осваиваю drupal, поэтому все равно не понятно.
Везде пишут что заменить заголовок можно хуком hook_preprocess_page(), либо hook_form_BASE_FORM_ID_alter, либо hook_form_alter. Разъясните пожалуйста какой лучше. И, самое главное, как и где его прописывать? (3 дня пытаюсь разобраться с хуками, все равно не понятно). И какое имя модуля должно быть?
Заранее благодарен за ответы, уверен подробный ответ многим поможет понять суть хуков.

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 1 декабря 2015 в 9:20

Так как устанавливается он вот здесь

function node_add($type) {
  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() для переопределения

Аватар пользователя alnov alnov 1 декабря 2015 в 16:02

Спасибо за ответы. Но я так и не понял, где эти хуки прописывать? node.page.inc? И какой модуль указывать вместо MODULE?

Аватар пользователя alnov alnov 1 декабря 2015 в 17:10

Т.е. все хуки в своем модуле прописываются? Если я правильно понял, создаю собственный модуль, содержащий пока единственный хук (тот что привел Niklan, но вместо MODULE название этого же модуля) и этого достаточно? Очень прошу подтвердить или опровергнуть это мое предположение, это бы сразу сняло кучу вопросов по хукам.

Аватар пользователя gor gor 1 декабря 2015 в 18:08

@alnov ага. Еще как новичку посоветую не боятся пробовать и не переживать если не получилось с первого раза. Не нужно ждать пока тебе готовый ответ дадут. Только появились идеи - сразу пробуй реализовать на тестовом сайте. Так ты быстрее разберешься и научишься .