複数ユーザーでMODxを管理する際に最終更新者や作成者を表示する方法が必要で調べたら、意外と情報がなく。
しょうがないのでつくってみました。
#テンプレート埋め込みで使いたかったので。
PHXでもいけるみたいですが。[ *createdby:userinfo=`username`* ]
仕組みは非常に簡単で、UserID([*editedby*] [*createdby*]で取得)と欲しい情報のキー($MODx->getUserInfo()の配列キーで使用)を指定するだけです。
[[GetUserInfo? &uid=`[*editedby*]` &vkey=`fullname`]]
で埋め込んだリソースの最終更新者フルネームが表示されます。
スニペット名:
GetUserInfo
<?php
#::::::::::::::::::::::::::::::::::::::::
# Created By:Takayuki Hirosawa (speed-fish.com).
#
# Date: Dec 13, 2009
#
# Changelog:
# Dec 13, 2009 -- initial release
#
#::::::::::::::::::::::::::::::::::::::::
# Description:
# 各リソースの最終更新者等を表示するのに使用します。
# WEBユーザーは取れません。
# 調べまくって方法が見当たらなかったので作ってみましたが・・・
# パスワードも取れてしまうので利用にはご注意を。
#
#
# Params:
# &uid [string]
# UserIDを指定。
#
# &vkey [string]
# getUserInfoで取得された配列のキーを指定。
#
# Example Usage:
#
# [
[GetUserInfo? &uid=`1`&vkey=`fullname`]
]
# ユーザーID1のフルネームを取得し表示。
#
#
#::::::::::::::::::::::::::::::::::::::::
# prepare params and variables
$o = '';
$a = '';
$o = $modx->getUserInfo( $uid );
$a = $o[$vkey];
return $a;
?>