【问题标题】:Kunena forum. Setting special rank to a new user using custom plugin库纳论坛。使用自定义插件为新用户设置特殊排名
【发布时间】:2016-07-25 07:18:37
【问题描述】:

大家! 请您帮我解决以下问题。

库内纳 4.0.1。我创建了几个特殊的用户等级。某些用户有权创建新用户。任务是将新用户的排名设置为与默认值不同但属于特殊排名之一。 我尝试使用与“onUserAfterSave”事件相关的自定义插件来做到这一点。但它没有用。我做错了什么?

 function onUserAfterSave ($user, $isnew) 
  {

  if ($isnew)
    {
    $NewKUser = KunenaFactory::getUser(intval($user['id']));
    $NewKUser->rank['rank_id'] = 11;                
    $NewKUser->save(true);
    }
  }

【问题讨论】:

  • 请提供完整的细节。你做了什么样的插件,例如系统插件。 kunena插件等?还有你给了什么类名?它将有助于调试您的代码。
  • 感谢您的回复!这是一个用户插件。类 plgUsersetraion 扩展了 JPlugin

标签: php joomla kunena


【解决方案1】:

问题解决了:

function onUserAfterSave ($user, $isnew) {
   if ($isnew) {
    /*Current user rank*/
    $SelfUser = KunenaUserHelper::getMyself();
    $SelfUserRank = $SelfUser->getRank(0, false);
     /*If current user has custom rank...*/
    if ($SelfUserRank->rank_id >=11) {
        /*Setting new user's rank equal to the current user's rank*/
        $NewKUser = KunenaUser::getInstance(intval($user['id']), false);
    $NewKUser->rank = $SelfUserRank->rank_id;
    $NewKUser->save();
    }
   }

【讨论】:

    【解决方案2】:

    我还有另一种解决方案,一个单行代码,但您需要编辑现有插件。所以当用户在 joomla 中注册时,它会被自动分配一个排名。

    为此,您需要编辑 kunena 系统插件,您可以在 plugins->system->kunena 找到该插件。 如果你打开kunena.php你会发现一个函数

    public function onUserAfterSave($user, $isnew, $success, $msg){
    ....
    ....
    if ($isnew && intval($user ['id']))
            {
                $kuser = KunenaFactory::getUser(intval($user ['id']));
                $kuser->save();
            }
    

    更改或修改,添加一行$kuser->rank

    public function onUserAfterSave($user, $isnew, $success, $msg){
        ....
        ....
    if ($isnew && intval($user ['id']))
            {
                $kuser = KunenaFactory::getUser(intval($user ['id']));
                $kuser->rank=11; // The rank which you want
                $kuser->save();
            }
    

    另外,最好在编辑之前创建该插件的副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多