0

Joomla 用の小さなユーザー プラグインを作成しました。ユーザーのグループに応じて、ログイン時のリターン URL を変更する必要があります。しかし、それは呼び出されていません。私は何を間違っていますか?

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>
4

1 に答える 1

0

次の2つのどちらで解決したかはわかりませんが、

a) プラグインの名前を plgUserPluginName (名前の小さい n) ではなく plgUserPluginname に変更しました b) アクセシビリティを Registered から Public に変更しました

そしてそれは今呼び出されています!

于 2012-10-02T10:58:04.717 に答える