利用自带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登录页面大小了
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《利用自带JS完成PHPCMS V9的AJAX登录》
文章链接:
https://www.ediok.cn/blog/2013/04/225.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
关注互联网发展前沿,关注PHPCMS技术演进,钻研PHPCMS技术开发
模块开发联系我们
觉得文章有用就打赏一下文章作者
非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!
支付宝扫一扫打赏
微信扫一扫打赏
评论前必须登录!
注册