1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Legacy User Display Profile;ja

From xoopscube

Jump to: navigation, search

テンプレートにプロフィールを表示するには?

概要

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');
Personal tools