PHPCMSv9小能力之一:修改顶部登岸方法为表单登岸或Ajax登岸
一、普通的表单登岸:简朴就是不修改系统文件怕今后更新弄的处所多,查察系统函数没有设计mini式的登岸函数,所以只从模板入手简朴修改。
打开根目次 \phpcms\templates\default\member\mini.html
文件里"{else}.........{/if}</div>"之间的代码(未登录状态),改为如下代码:
验证码参数:{form::checkcode('code_img', '字符个数', '字体巨细', 宽, 高)}
<form method="post" action="{APP_PATH}index.php?m=member&c=index&a=login" id="myform" name="myform" target="_top">
<input type="hidden" name="forward" id="forward" value="{if $_GET['forward']}{$_GET['forward']}{else}{HTTP_REFERER}{/if}">
账号<input type="text" id="username" name="username" size="10" class="input-text">
暗码<input type="password" id="password" name="password" size="10" class="input-text">
验证码<input type="text" id="code" name="code" size="5" class="input-text">
{form::checkcode('code_img', '4', '14', 84, 24)}
<input type="submit" name="dosubmit" id="dosubmit" value="{L('login')}"> | <a href=http://down.chinaz.com/"{APP_PATH}index.php?m=member&c=index&a=register&siteid={$siteid}" target="_blank">{L('register')}</a>
</form>
二、Ajax登岸:权当是一个思路吧,会修改的伴侣可以进一步改造
1. 修改文件:\phpcms\templates\default\content\header.html
在</head>上面添加2行代码:
<script language="javascript" type="text/javascript" src=http://down.chinaz.com/"{JS_PATH}dialog.js"></script>
2. 修改文件:\phpcms\templates\default\member\mini.html
查找 target="_top">{L('login')} 修改为
然后在</body>上面添加代码:
<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:'580',height:'500'});
}
</script>
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 或许在第560行代码:
找到 showmessage(L('login_success').$synloginstr, $forward); 修改为$dialog = trim($_POST['dialog']);
if ($dialog){
showmessage(L('login_success').$synloginstr, '', 1000, $dialog);
}else{
showmessage(L('login_success').$synloginstr, $forward);
}
修改完毕。