Как добавить к обратному вызову страницы модуля Drupal

Скажем, у вас есть обратный вызов страницы из модуля #1 с помощью hook_menu(). Вы хотите создать модуль № 2, который бы просто добавлял что-то внизу обратного вызова страницы модуля № 1 (подумайте о наличии заметок, которые вы хотели бы добавить внизу страницы). Как ты мог это сделать? Насколько я понимаю, вы можете использовать hook_menu_alter, чтобы полностью переопределить обратный вызов страницы, но что, если вы просто хотите добавить к нему?

2 ответа

Решение

Вы не можете делать то, что просите, но таким образом вы все еще можете это сделать.

Скажем, исходная страница обратного вызова foo

Вы меняете это на bar с hook_menu_alter.

Тогда вы могли бы сделать что-то вроде этого.

function bar() {
  $output = foo();
  $output .= 'extra';
  return $output;
}

Это не симпатичное решение, но оно работает.

Альтернативными решениями было бы использование блоков и регионов, для чего оно и было предназначено. В некоторых случаях это потребует дополнительной работы, если вам понадобится доступ к контекстам и странице администрирования блока, и они станут немного беспорядочными, если вам нужно много блоков для каждой страницы.

В некоторых случаях вы можете исправить свои потребности, переопределив функции темы, шаблоны или используя обработчики препроцессора.

Может быть, рассмотреть возможность реализации блока области нижнего колонтитула по умолчанию? Или с помощью hook_footer ()?

Другие вопросы по тегам