「登録済み」ユーザーの1人が注文すると、「顧客」と呼ばれる別のユーザーグループに正常に追加するプラグインがあります。これは、を使用するものの流れの中で非常にうまく機能しJUserHelper::addUserToGroup()
ます。
問題は、ユーザーレコードが正しく更新されていても、既にログインしているため、必要なACLを取得するために、ログアウトしてから再度ログインする必要があることです。
私はすべてのjUserコードとドキュメントを調べましたが、によって生成された現在ログインしているユーザーを変更する方法を見つけることができません$user =& JFactory::getUser();
。
答えは私よりもJoomlaMVCをよく理解している人には明らかかもしれないと思いますが、これを達成する方法を見つけようとして、私が読んだすべてのコードに頭を悩ませています。
アップデート:
以下のLodderの回答は技術的には機能しますが、「ユーザーグループ」は実際に更新されていますが、AuthGroupsとAuthLevelsは更新されていません。私のコードが実行された後、$ userオブジェクトはそこにあるグループを表示しますが、オブジェクトのさらに下に表示されます。
[_authGroups:protected] => Array
(
[0] => 1
[1] => 2
)
[_authLevels:protected] => Array
(
[0] => 1
[1] => 1
[2] => 2
)
現在のセッションではすべて保護されているため、これを変更する方法はないようです。更新されるのはuser.php at$identities = $this->getAuthorisedGroups();
だけで、最初に遭遇したときにのみ実行されます。