1

これが私の問題です:
このパイプラインは、ユーザーの本名を表示しようとしてオーバーライドされました。

Sitecore.Pipelines.GetContentEditorWarnings.IsLocked

アイテムを更新した人は誰でもアイテムをロックする必要があると考えられていたため、変更は単にロックのItem.getUpdatedBy()代わりに使用することでした。Item.Locking.GetOwner()また、ユーザー名getUpdatedBy()Context.user.profile.fullname横に表示されます。問題は、ユーザーが実際にアイテムをロックせずにアイテムを更新できるため、最後に更新されたユーザーとは異なるユーザーでロックフィールドが入力されていることです。

やりたいこと:アイテムのロック所有者のフルネーム(context.user.profile.fullname)を表示する必要があります。context.user.profileロック所有者(Item.Locking.GetOwner())情報からを取得するにはどうすればよいですか?

もっと明確にする必要があるかどうか教えてください。ありがとう、クリス

4

1 に答える 1

2

このItem.Locking.GetOwner()メソッドは、ロックを保持している人のユーザー名を返すだけです。ユーザー名から、ユーザーとそのプロファイルを取得する必要があります。これを処理する方法はおそらくいくつかあります...ここに1つあります。

string username = theItem.Locking.GetOwner();
Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(theItem, false);
Sitecore.Security.UserProfile profile = user.Profile;
string fullName = profile.FullName;
于 2012-06-19T18:34:46.870 に答える