Joomla覆盖用户组件代替自定义模块/页面

时间:2016-04-14 13:52:45

标签: templates redirect joomla override components

有人可以帮助我解决我的困境,我曾尝试联系joomla dev论坛和其他帮助但没有任何帮助。

我正在尝试覆盖默认用户组件,例如登录,密码提醒和个人资料等。

当我的用户登录时,系统会要求他们更改密码,然后将它们定向到默认的joomla remind组件。相反,我希望将它们重定向到我的论坛,该论坛有个人资料和编辑个人资料信息标签。

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

我已经简要阅读了其他关于使用隐藏菜单来更改默认页面重定向到模块的信息,但我无法找到更多关于此的详细信息,或者我似乎可以自己开始工作。

joomla文档和开发人员讨论非常广泛,我一直在寻找解决方案或教程的时间。如果有人能指出我正确的方向或帮助它将非常感激。

1 个答案:

答案 0 :(得分: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');
     }
  } 
}