Legacy User Display Profile;ja
From xoopscube
テンプレートにプロフィールを表示するには?
概要
Legacy2.1では、XoopsUser? オブジェクトをテンプレートの変数に割り当てることができます。次の例はXOOPS2スタイルでオブジェクトを使用する説明です。
global $xoopsTpl;
$xoopsTpl->assign('poster', $poster);
<p>Poster's name: <{$poster->getShow('uname')}>
getShow() メソッドはHTML表示のためのサニタイズされた文字列を返します。もし、セキュリティープログラミングに詳しくないようであれば、基本的にこのメソッドを使うことをお勧めします。
xoops_userモディファイアを使う
Legacy RenderSystem? がテンプレートをレンダリングする場合、uid を元にプロフィールを表示するモディファイアを使うことができます。次の例は、uidが1のユーザのユーザ名を表示する例です。
<p><{1|xoops_user:uname}></p>
言い換えれば、たとえXoopsUser? オブジェクトをテンプレート変数に割り当てなくとも、uidからプロフィールを表示することができます。
class Message {
var $title;
var $message;
var $poster_uid;
}
<p><{$message->poster_uid|xoops_user:uname}></p>
このモディファイアは以下のコードと同等です。
$handler =& xoops_gethandler('user');
$user =& $handler->get($message->poster_uid);
$user->getShow('uname');
