2012-10-01 213 views
0

我寫了一個Joomla的小用戶插件!這應該根據用戶組更改登錄時的返回URL。但是,它甚至沒有被調用。我究竟做錯了什麼?爲什麼我的Joomla用戶插件沒有被調用?

class plgUserPluginName extends JPlugin 
{ 
    /** 
    * This method should handle any login logic and report back to the subject 
    * 
    * @param array $user  Holds the user data 
    * @param array $options Array holding options (remember, autoregister, group) 
    * 
    * @return boolean True on success 
    * @since 1.5 
    */ 
    public function onUserLogin($user, $options = array()) 
    { 
     $user = JFactory::getUser(); 
     $db = JFactory::getDBO(); 
     $db->setQuery(
      'SELECT link_id FROM '.$db->quoteName('#__mt_links') . 
      ' WHERE '.$db->quoteName('user_id').' = '.$db->quote($user->id) 
     ); 
     $link_id = $db->loadResult(); 
     if(!$link_id){ 
      $db->setQuery(
       'SELECT group_id FROM '.$db->quoteName('#__user_usergroup_map') . 
       ' WHERE '.$db->quoteName('user_id').' = '.$db->quote($user->id) 
      ); 
      $group_id = $db->loadResult(); 
      if($group_id == somegroupid) $options['return'] = 'abc'; 
      elseif($group_id == someothergroupid) $options['return'] = 'xyz'; 
     } 
     return true; 
    } 
} 

我的XML是:

<?xml version="1.0" encoding="utf-8"?> 
<extension version="2.5" type="plugin" group="user"> 
    <name>plg_user_pluginname</name> 
    <version>1.0.0</version> 
    <description>PLG_USER_PLUGINNAME_XML_DESCRIPTION</description> 
    <files> 
     <filename plugin="pluginname">pluginname.php</filename> 
     <filename>index.html</filename> 
    </files> 
    <languages> 
     <language tag="en-GB">en-GB.plg_user_pluginname.ini</language> 
     <language tag="en-GB">en-GB.plg_user_pluginname.sys.ini</language> 
    </languages> 
    <config>   
    </config> 
</extension> 
+0

一個常見的錯誤是安裝後不能激活插件。要做到這一點,請轉至admin->擴展程序 –

回答

0

我不知道這下面的兩個解決它,但

一)我重新命名插件plgUserPluginname代替plgUserPluginName(小N代表名字) b)我改變了無障礙從註冊到公開

它現在被稱爲!

相關問題