/ user/uidに移動すると、デフォルトで/ content/content-profileIDに移動します。これは、コンテンツプロファイルで使用されるノードタイパーです。
これを行うにはどうすればよいですか?
function MYMODULE_user($op, &$edit, &$account, $category = NULL) {
switch ($op) {
case 'view':
profile_load_profile($account);
// Now $account will contains all profile data;
// some code
break;
}
}
}
Uidを指定してプロファイルnidを返す関数を作成しました。次に、hook_userに追加して、ビューのnode/profileIDにリダイレクトします。
function MY_MODULE_USER($op, &$edit, &$account, $category = NULL){
switch ($op){
case 'view':
$profileNid = MY_MODULE_getProfileNidFromUid($account->uid);
drupal_goto("node/" . $profileNid);
break;
}
}
function MY_MODULE_getProfileNidFromUid($uid){
$sql = "SELECT nid FROM node WHERE TYPE = 'profile' AND uid =" . $uid;
$profileNid = "";
$dbResults = db_query($sql);
while ($result = db_result($dbResults )) {
$profileNid = $result;
}
return $profileNid;
}