アカウント情報のページとは、各ユーザのプロフィールが閲覧できるページです。
そのページのタイトル(<title>タグで囲まれた部分)をユーザ名に書き換える方法を紹介します。
実現方法は3つほどあります。
この中でどれを試しても同じ結果が得られますが、わたしの説明では一番簡単なので3番でいきたいと思います。
以下のコードをご覧ください。
<?php/*
ブロックのタイプ : 適当な位置に設定
並び順 : 適当な順番を設定
表示 : はい
表示する画面 : すべてのページ(白扇を使っている場合は白扇だけを選択)
タイトル : 任意のタイトルを設定 (例:ユーザ名をtitleにするブロック)
コンテンツのタイプ : PHPスクリプト
グループ : ゲストを含めた全てのグループ
*/
if( $_SERVER['SCRIPT_FILENAME'] == XOOPS_ROOT_PATH.'/userinfo.php' ){
global $xoopsDB, $xoopsTpl;
$myts =& MyTextSanitizer::getInstance();
$uid = intval(@$_GET['uid']);
$sql = "SELECT uname FROM ".$xoopsDB->prefix('users')." WHERE uid=$uid";
list($uname) = $xoopsDB->fetchRow($xoopsDB->query($sql));
$xoopsTpl->assign('xoops_pagetitle', $myts->makeTboxData4Show($uname));
}
return false;
このコードはURIがuserinfo.phpを含む時に、ユーザの情報が格納されているテーブルを参照、ユーザ名を取り出し、それをページのタイトルに置き換えるという処理を行います。
上のコードをカスタムブロックの「コンテント」に貼り付け、保存してください。その際、「コンテントのタイプ」はPHPスクリプトを選択するようにしてください。また、ゲストや管理者以外のグループにもアクセス権限を与えることを忘れないでください。
トラバURL : http://suin.asia/trackback/271
氷川 XOOPS Module 開発室