私は Drupal を初めて使用するので、カスタム ユーザー プロファイルの単純なモジュールを作成したいと考えています。具体的には、ユーザー プロファイル用にいくつかのタブを挿入したいと考えています (従来のユーザー プロファイルには「表示タブ」と「編集タブ」の 2 つのタブがあります)。さらに3つのタブを追加したい。
- 履歴を表示
- プロフィールを共有
- ショートカット
ただし、管理者プロファイルではなく、認証されたユーザーにのみ適用されます (管理者が自分のプロファイルを表示する場合、プロファイルは従来のプロファイルです)。これが私のコードです (私のモジュールの名前は :tung_tab です)。ここに tung_tab.module のコードがあります:
function tung_tab_menu()
{
$items = array();
global $user;
//if (!user_access('administer'))
if($user->uid!=1)
{
$items['user/%/rvhistory'] = array(
'title' => 'Review History ',
'description' => 'Review History',
//'page callback' => 'drupal_get_form',
//'page arguments' => array('tung_tab_confirm_reviewh', 1),
'access callback' => 'user_view_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
$items['user/%/sharehistory'] = array(
'title' => 'Share History',
'description' => 'Share History',
//'page callback' => 'drupal_get_form',
//'page arguments' => array('tung_tab_confirm_shareh', 1),
'access callback' => 'user_view_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
$items['user/%/sc'] = array(
'title' => 'Shortcut',
'description' => 'Shortcut',
//'page callback' => 'getDescription',
//'page arguments' => array('tung_tab_confirm_shareh', 1),
'access callback' => 'user_view_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
}
return $items;
}
管理者タブでは適切に機能しますが、ログアウトしてから他のユーザーでログインしても何も変わらないので、//if($user->uid) という行にコメントを付ければ問題ないので、さらにコードを追加するとこの行で 'title' => 'Review History '.$user->uid, When I'm admin と表示されます Review History 1理由がわかりますか?コードに間違いがあると思います。モジュールを「mysite/sites/default/modules/」に配置しました。