为Joomla开发Community Builder的插件

时间:2011-03-17 16:12:27

标签: php joomla joomla-extensions

我正在使用Joomla的社区生成器模块,我在源代码中看到了onAfterUserRegistration事件被触发。所以我尝试为这个事件开发一个插件。这就是我所做的:

<?php
defined('_JEXEC') or die( 'Restricted access' );

jimport('joomla.plugin.plugin');

class plgUserRegistration extends JPlugin
{
    function plgUserRegistration($subject, $config)
    {
        parent::__construct($subject, $config);
    }

    function onAfterUserRegistration()
    {
        //Do some stuff here !
    }
}

但我的代码永远不会被调用,我无法弄清楚为什么,如果有人作为任何线索!

2 个答案:

答案 0 :(得分:2)

有点晚了但也许它可以帮助别人。您必须创建一个CB插件而不是Joomla插件。 您可以参考CB Plugin Framework API文档。

在你的php文件中,你必须有类似的东西:

$_PLUGINS->registerFunction( 'onBeforeUserRegistration', 'pluginExampleBeforeUserRegistration' );
/**
* Example registration verify user method
* Method is called before user data is stored in the database
* @param array holds the core mambo user data
* @param array holds the community builder user data
* @param boolean false
*/
function pluginExampleBeforeUserRegistration(&$user,&$cbUser) {
    global $_POST, $_PLUGINS;

    if ($_POST['username'] == $_POST['password']) {
        $_PLUGINS->raiseError(0);
        $_PLUGINS->_setErrorMSG("Password has to be different from username!");
    }
    return true;
}

希望这会有所帮助

答案 1 :(得分:1)

以下是一些建议:

  1. 检查插件是否已启用。
  2. 插件组必须是User,请同时检查。