正在加载周涛博客
自留地
切勿乱来!
        找回密码

利用自带JS完成PHPCMS V9的AJAX登录

1. 修改文件:

\phpcms\templates\default\content\header.html
在上面添加2行代码:

<link href="{CSS_PATH}dialog.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="{JS_PATH}dialog.js"></script>

2. 修改文件:

\phpcms\templates\default\member\mini.html
(1)在上面添加代码:

<script type="text/javascript">
 function ajax_login() {
 window.top.art.dialog({id:'login'}).close();
 window.top.art.dialog({title:'会员登录:',id:'login',iframe:'{APP_PATH}index.php?m=member&c=index&a=login&siteid={$siteid}&dialog=login',width:'400',height:'300'});
 }
</script>
<script type="text/javascript">
 function ajax_logout() {
 window.top.art.dialog({id:logout}).close();
 window.top.art.dialog({title:'会员登录:',id:'login',iframe:'{APP_PATH}index.php?m=member&c=index&a=logout&siteid={$siteid}&dialog=logout,width:'400',height:'300'});
 }
</script>

(2)查找 target="_top">{L('login')}    修改为

target="_top" onclick="ajax_login();return false;">{L('login')}

(3)查找 target="_top">{L('logout')}    修改为

target="_top" onclick="ajax_logout();return false;">{L('logout')}

3. 修改文件:

\phpcms\templates\default\member\login.html,

<input type="hidden" name="forward" id="forward" value="{$forward}">

下面添加:

<input type="hidden" name="dialog" id="dialog" value="{trim($_GET['dialog'])}">

4. 修改文件:

\phpcms\modules\member\index.php:
(1) 找到(大概在第700行代码的login函数中)

showmessage(L('login_success').$synloginstr, $forward);

修改为:

$dialog = trim($_POST['dialog']);
 if ($dialog){
 showmessage(L('login_success').$synloginstr.'<script type="text/javascript">parent.miniLoginFrame.window.location.reload();setTimeout(window.top.art.dialog({id:\''.$dialog.'\'}).close(),2000);</script>', 'blank');
 }else{
 showmessage(L('login_success').$synloginstr, $forward);
 }

(2) 找到(大概在第749行代码的logout函数中)

showmessage(L('logout_success').$synloginstr, $forward);

修改为:

$dialog = trim($_GET['dialog']);
 if ($dialog){
 showmessage(L('logout_success').$synloginstr.'1<script type="text/javascript">parent.miniLoginFrame.window.location.reload();setTimeout(window.top.art.dialog({id:\''.$dialog.'\'}).close(),2000);</script>', 'blank');
 }else{
 showmessage(L('logout_success').$synloginstr, $forward);
 }

5. 修改文件:

\phpcms\templates\default\member\login.html, 调整内容及相关CSS,使之适应Ajax登录使用的Dialog大小。
修改完毕。

PS:

其实不必改动login.html这个文件,可以重新定义一个登录页面来让ajax单独使用

大致方法如下:

打开phpcms\modules\member\index.php

找到public function login()整段代码复制,改成public function ajaxlogin()

并且把里面的include template('member', 'login');改成include template('member', 'ajaxlogin');然后保存;

第二步到phpcms\templates\default\member模板目录,复制一个login.html改名为ajaxlogin.html

然后回到上面的修改第二步,把里面的login全都改成ajaxlogin,这样一来就可以按照第五步来调整相关CSS及页面来适应ajax登录页面大小了

赞(3) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《利用自带JS完成PHPCMS V9的AJAX登录》
文章链接:https://www.ediok.cn/blog/2013/04/225.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

 

关注互联网发展前沿,关注PHPCMS技术演进,钻研PHPCMS技术开发

模块开发联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏