假设您使用hook_menu()从模块#1进行页面回调。您想要创建模块#2,它基本上只是在模块#1页面回调的底部附加一些东西(想想你想要添加到页面底部的一些注释)。你怎么能这样做的?我的理解是你可以使用hook_menu_alter来完全覆盖页面回调,但是如果你只想追加它呢?
答案 0 :(得分:3)
你无法按照自己的要求行事,但在某种程度上你仍然可以做到。
假设原始页面回调为foo
您可以使用hook_menu_alter将其更改为bar
。
然后你可以做这样的事情。
function bar() {
$output = foo();
$output .= 'extra';
return $output;
}
这不是一个漂亮的解决方案,但它确实有效。
替代解决方案是使用块和区域,这毕竟是它的意思。在某些情况下会产生一些额外的工作,如果你需要访问上下文和块管理页面,如果你需要为每个页面提供大量的块,那么会变得有点混乱。
在某些情况下,您可以通过覆盖主题函数,模板或使用预处理挂钩来修复您的需求。
答案 1 :(得分:1)
也许考虑实现一个默认启用的页脚区域块?或者使用hook_footer()?