uname → name 変換 smarty plugin
テンプレート上で、uname で表示されているところを、name(本名)の表示に変換する smarty プラグインを作りました(ご覧のとおり、ごく簡単なものです)。
smarty プラグインなので、class/smarty/plugins/ に function.user_uname2name.php という名前で保存してください。
使い方は、
<{user_uname2name uname=$uname}>
のように使います。
たとえば、もともとのテンプレートに
<{$content.uname}>
の様に記述されていた場合、
<{user_uname2name uname=$content.uname}>
に変更することで、uname から name の表示に変換することができます。
name を登録していない場合は、uname がそのまま表示されます。
<?php /* * Smarty plugin * ------------------------------------------------------------- * Type: function * Name: user_uname2name * Version: 1.0 * Date: Aug 29, 2007 * Author: HIKAWA Kilica * Purpose: Change uname to name * Input: * * Examples: {user_uname2name uname=$uname} * ------------------------------------------------------------- */ function smarty_function_user_uname2name($params, &$smarty) { $handler = xoops_gethandler('user'); $user =& $handler->getObjects(new Criteria('uname',$params['uname'])); if(! count($user)>0){ return "guest"; } if($user[0]->getShow('name')){ return $user[0]->getShow('name'); } else{ return $params['uname']; } } ?>