1

hook_menu() を使用してモジュール #1 からのページ コールバックがあるとします。基本的にモジュール #1 のページ コールバックの下部に何かを追加するモジュール #2 を作成します (ページの下部に追加したいメモがあると考えてください)。どうすればこれができますか?私の理解では、hook_menu_alter を使用してページ コールバックを完全にオーバーライドできますが、単に追加したい場合はどうでしょうか?

4

2 に答える 2

3

あなたはあなたが求めることをすることはできませんが、ある意味ではまだそれを行うことができます.

元のページのコールバックがfoo

barhook_menu_alterで変更します。

次に、このようなことができます。

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

これはきれいな解決策ではありませんが、機能します。

別の解決策は、ブロックとリージョンを使用することです。場合によっては、コンテキストとブロック管理ページにアクセスする必要があり、各ページに多くのブロックが必要な場合は少し面倒になる場合に、余分な作業が発生します。

場合によっては、テーマ関数やテンプレートをオーバーライドしたり、前処理フックを使用したりすることで、ニーズを修正できます。

于 2010-08-17T14:42:19.133 に答える
1

デフォルトで有効なフッター領域ブロックの実装を検討してみてはいかがでしょうか? またはhook_footer()を使用していますか?

于 2010-08-17T15:19:38.830 に答える