我有一个joomla网站,我使用社区建设者进行用户注册和登录。
我有一个带有网址“http://localhost/joomla/index.php/page1”的页面,我在该页面上放置了一个登录模块。登录后,我想将用户重定向到“http://localhost/joomla/index.php/page2”。所以我将管理上的登录重定向URL字段设置为“index.php / page2”。
但我的问题是,它将我重定向到“http://localhost/joomla/index.php/page2/page1”。 如何在不将page1附加到我的网址的情况下将其重新映射到page2?
感谢。
答案 0 :(得分:0)
这篇文章似乎很相似:
http://www.joomlapolis.com/forum/146-general/192047-redirecting-after-login-using-cb-login-module
在相对路径的开头添加正斜杠有帮助吗?
答案 1 :(得分:0)
如果不需要电子邮件检查,有一个CB自动登录和注册后重定向的解决方案:
编辑:/components/com_comprofiler/comprofiler.php
1078左右有一条线:
echo "\n<div>" . implode( "</div>\n<div>", $messagesToUser ) . "</div>\n";
之前放(从登录处取出):
//lets try to auto-login
$app = &JFactory::getApplication();
$password = cbGetParam( $_POST, 'password', '', _CB_ALLOWRAW );
if($app->isSite())
{
# Login process
$credentials = array(
"username" => $username,
"password" => $password
);
if(is_dir(JPATH_BASE . DS . "components" . DS . "com_comprofiler")) {
$database = &JFactory::getDBO();
$sql_sync = "INSERT IGNORE INTO #__comprofiler(id, user_id) SELECT id,id FROM #__users";
$database->setQuery($sql_sync);
$database->query();
}
$app->login($credentials);
// Beside a redirection, writing out a text...
global $mainframe;
$mainframe->redirect(JRoute::_("<redirect-to-link>"),JText::_("You have logged in automatically."));
}
else {
// This is just a redirection...
global $mainframe;
$mainframe->redirect(JRoute::_("<redirect-to-link>"));
}