Joomla 仅在模式中加载注册组件
我需要能够在模块中显示com_用户组件的注册部分。重定向到注册不是一个选项(设计要求)。我已经找到了JComponentThelper,但是文档似乎缺少足够的信息来帮助我解决问题Joomla 仅在模式中加载注册组件,joomla,joomla3.0,Joomla,Joomla3.0,我需要能够在模块中显示com_用户组件的注册部分。重定向到注册不是一个选项(设计要求)。我已经找到了JComponentThelper,但是文档似乎缺少足够的信息来帮助我解决问题 $component = JComponentHelper::getComponent('com_users'); 我已经创建了一个基本模块来实现这一点,但目前我没有任何运气。帮忙 编辑: 我已经设法让它在某种程度上显示表单,但并不完全正确。在主页上,代码显示在任何标题输出之前。如果我转到一个子页面,表单实际上会显示
$component = JComponentHelper::getComponent('com_users');
我已经创建了一个基本模块来实现这一点,但目前我没有任何运气。帮忙
编辑:
我已经设法让它在某种程度上显示表单,但并不完全正确。在主页上,代码显示在任何标题输出之前。如果我转到一个子页面,表单实际上会显示我希望它在页面上的位置。这甚至可能不是解决问题的正确途径
这是目前我的测试模块的default.php
$view = JRequest::getCmd('view',null);
$layout = JRequest::getCmd('layout',null);
$task = JRequest::getCmd('task',null);
JRequest::setVar('view', 'registration');
JRequest::setVar('layout', 'default');
JRequest::setVar('task', 'display');
$lang = JFactory::getLanguage();
$lang->load('com_users', JPATH_ADMINISTRATOR);
if (!class_exists('UsersController')) {
require_once (JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_users'.DS. 'controller.php');
}
$controller = new UsersController();
$controller->execute('register');
//$controller->redirect();
// revert system vars to previous state
if ($view != null) {
JRequest::setVar('view', $view);
}
if ($layout != null) {
JRequest::setVar('layout', $layout);
}
if ($task != null) {
JRequest::setVar('task', $task);
}
澄清后,我了解到您希望通过注册模块以模式打开注册表 因此,第一件事可能是复制常规joomla mod_登录。 然后,在布局中,添加包含注册表的引导模式(可以是自定义的) 然后,对于注册表单本身,不要向com_用户发帖,而是使用com_ajax发回您的模块helper.php。一旦您的module helper.php完成注册,您就可以显示一个自定义布局,该布局将在模式中显示结果
请参阅:您需要在模式或模块中注册吗?你的标题说明了一件事,你的帖子说明了另一件事。如果它是一个模块,那么它已经存在了……嗯,在一个模块中。基本设计要求有一个“点击注册”链接,打开一个带有注册表单的css弹出框。对不起,我不太清楚。我对Joomla还是比较陌生的。