Drupalバージョン:
カテゴリ:
モジュール、特にユーザ関連のモジュールを導入した際に、アカウント情報ページ(user/ユーザID)に不要なタブが表示され、邪魔だなと感じたことはありませんか?ノード本文に画像を挿入でも述べましたが、CocoaSpaceで最近試してみたIMCEモジュールもアカウント情報ページにタブを作成します。
これが必要ないという方は、Drupal6のhook_menu_alter()というhookを利用して、簡単にタブを無効化できます。
IMCE 6.x-1.x系では上手くいきませんでしたが(私の環境だけ?)、2010年12月下旬に正式リリースされた6.x-2.xでは、IMCEのプロファイルの設定画面からのアカウント情報ページのタブの表示・非表示が上手くいくようですので、hook_menu_alter()を用いたこのようなカスタマイズの必要はありません。
drupal.orgのこちらのドキュメントが参考になります。
Remove tabs using hook_menu_alter | drupal.org
上記のドキュメントはわかりやすいので大丈夫かと思いますが、英語を読むのが億劫だという方のために方法を書いておきます。MODULENAMEというところを、ご自分のモジュール名に変更してください。
/**
* Implementation of hook_menu_alter().
*/
function MODULENAME_menu_alter(&$items) {
// Removing certain local navigation tabs that are either undesired or need to be custom relocated.
// Set these tabs to MENU_CALLBACK, so they still register the path, but just don't show the tab: こちらの方法ではタブは消えるものの、user/ユーザID/imceというパスは有効のままです。
$items['user/%user/imce']['type'] = MENU_CALLBACK;
// または、
// Fully unset these tabs and their paths, don't want them at all. This breaks the path as well: こちらの方法ではタブが消えるのみならず、パスもなくなります。どちらかお好きな方法を採用してください。
unset($items['user/%user/imce']);
}
この方法でアカウント情報の『ファイルブラウザ』というIMCEタブが消えるはずです。
なお、上述のdrupal.orgのドキュメントにもありますが、hook_menu_alter()を利用する方法ではView[表示]タブを取り除くことができないので、以下のページを見てくださいとのことです。

コメントを追加