K2 user 模块的登录和退出URL不起作用
查源头,K2_user 用的还是 com_users 的 user.login 控制器,return用的的base64_encode,也正确的传进去了,为啥不起作用?
原因,在控制器中,判断地址为非内部地址,直接赋空值,然后赋默认值了
// Don't redirect to an external URL.
if (!JUri::isInternal($data['return']))
{
$data['return'] = ''; //此处认为是外部地址,赋空值
}
// Set the return URL if empty.
if (empty($data['return']))
{
$data['return'] = 'index.php?option=com_users&view=profile'; //因为是空值,赋了默认值
}
带自带的login form模块没问题,原因出在哪?
在mod_k2_uesr的helper.php文件中的getReturnUrl,用JRoute转换了地址。
用mod_login中的函数替代即可