Как добавить к обратному вызову страницы модуля 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 ()?