迅睿cms会员登录/注册/退出登录后跳转到指定链接或返回当前页面

使用迅睿cms搭建网站,点击注册和登录后默认是跳转到会员中心,这样用户体验较差,比如可能导致用户找不到之前访问的页面。再就是如果用户在用户中心,点击退出账号,默认是跳转到登录界面。本文要解决的是会员登录/注册/退出后如何跳转到指定链接 或 返回当前页面。

登录注册跳转

方法一URL链接模式

通过改造登录链接,参考下方代码,可以实现跳转到指定域名:

//指定链接
登录:{dr_member_url("login/index", ["back" => urlencode("你的网址")])}
注册:{dr_member_url("register/index", ["back" => urlencode("你的网址")])}

//登录后,返回当前页面示例
{dr_member_url("login/index", ["back" => urlencode($my_web_url)])}

方法二FORM内部设定

//指定链接
<input type="hidden" name="back" value="你的网址">

//返回当前页面示例
<input type="hidden" name="back" value="{$my_web_url}">


退出登录跳转

写一个退出的js函数,把地址改成首页或者你要指定的链接即可,放到退出登录按钮下即可,代码如下:

<script type="text/javascript">
    function dr_loginout(url) {
    $.ajax({type: "GET",dataType:"json", url: dr_get_web_dir()+'index.php?s=api&c=api&m=loginout',
        success: function(json) {
            var oss_url = json.data.sso;
            // 发送同步登录信息
            for ( var i = 0; i < oss_url.length; i++){
                var result = fetchJsonp(oss_url[i], {
                    jsonpCallback: 'callback',
                    timeout: 3000
                })
                result.then(function(response) {
                    return response.json()
                }).then(function(json) {
                })['catch'](function(ex) {
                });
            }
            dr_cmf_tips(1, json.msg, json.data.time);
            setTimeout('window.location.href="/index.php"', 2000);
        },
        error: function(HttpRequest, ajaxOptions, thrownError) {
            dr_ajax_alert_error(HttpRequest, this, thrownError);
        }
    });
}
</script>