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('login')} |
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登录页面大小了
相关文章
phpcms V9静态判断会员登录状态的方法2018-11-15