2016-04-14 34 views
0

有人可以帮我解决我的困境,我尝试联系joomla dev论坛和其他帮助手段,但没有得到任何地方。Joomla覆盖用户组件代替定制模块/页面

我试图覆盖缺省的用户组件,如登录名,密码提示和配置文件等。

当我的用户登录时,他们被要求更改密码thier,他们将被定向到默认的Joomla提醒组件。相反,我希望将它们重新定向到我的论坛,该论坛有一个配置文件和一个编辑配置文件信息选项卡。

我想重写所有的默认用户组件,并用自己的替换它们,但我不知道如何实现这一点。

我已简要阅读过有关使用隐藏菜单将默认页面重定向到模块的更多信息,但我无法找到关于此的更多详细信息,或者我似乎可以自行工作。

joomla文档和开发人员的讨论是巨大的,我一直在寻找解决方案或教程小时。如果任何人都可以指引我正确的方向或帮助它将非常感激。

回答

0

这可能是有益的:

https://docs.joomla.org/How_to_override_the_component_mvc_from_the_Joomla!_core

摘要

有可能是时候,你需要重写的Joomla! MVC组件添加新功能或完全自定义组件。通过使用组件中使用的相同类名,可以完全覆盖MVC组件。这是通过在组件由应用程序分派之前加载系统插件来实现的。

您可以创建自己的插件来执行此操作。

class plgSystemComContentOverride extends JPlugin { 
    public function __construct(&$subject, $config = array()) { 
    parent::__construct($subject, $config); 
    } 

    public function onAfterRoute() { 
    $app = JFactory::getApplication(); 
    if('com_content' == JRequest::getCMD('option') && !$app->isAdmin()) { 
     require_once(dirname(__FILE__) . '/comcontentoverride/my_content_controller.php'); 
    } 
    } 
}