为了将ss的登录框改成横排,找出batch.panel.php看了个遍,现在将官方默认代码(7.0版)详解给大家,希望给吃过苦头的人一些方便:
<?php
/*
[SupeSite] (C) 2007-2009 Comsenz Inc.
$Id: batch.panel.php 11626 2009-03-13 02:27:20Z zhanglijun $
*/
include_once('./common.php');
include_once(S_ROOT.'./language/batch.lang.php'); 文字常量定义
$uid = $_SGLOBAL['supe_uid'];
$ucurl = avatar($uid);
$siteurl = S_URL_ALL ;
if(!empty($uid)) { 登录中
if($channels['menus']['bbs']) { 论坛聚合 此处为论坛
$bbshtml = ' | <a href="'.$_SC['bbsurl'].'" target="_blank">'.$blang['forum_visit'].'</a>';
} 论坛地址
if($channels['menus']['uchblog'] || $channels['menus']['uchimage']) { 家园聚合
$uchhtml = ' | <a href="'.$_SC['uchurl'].'" target="_blank">'.$blang['home_visit'].'</a>';
} 家园地址 此处为家园
$showpost = 0;
$showposturl = ''; 投稿用变量
$divhtml = '<div id="contribute_op" style="display:none;"><ul>'; 投稿菜单div
if(!in_array('news', $_SCONFIG['closechannels']) && !empty($_SGLOBAL['group']['managespacenews'])) {
$divhtml .= '<li><a href="'.$siteurl.'/admincp.php?action=spacenews&op=add" target="_blank">'.$lang['news'].'</a></li>';
$showpost++;
$showposturl = $siteurl.'/admincp.php?action=spacenews&op=add';
}
include_once(S_ROOT.'./function/model.func.php');
$midarr = getuserspacemid(); 取得模型数组
if(!empty($midarr)) {
foreach($midarr as $tmpkey => $tmpvalue) {
$divhtml .= '<li><a href="'.$siteurl.'/admincp.php?action=modelmanages&mid='.$tmpvalue['mid'].'&op=add" target="_blank">'.$tmpvalue['modelalias'].'</a></li>'; 生成投稿,资讯下拉菜单
$showpost++;
$showposturl = $siteurl.'/admincp.php?action=modelmanages&mid='.$tmpvalue['mid'].'&op=add';
} }
if($showpost == 1) { 只有一个频道时,不显示下拉菜单
$showposturl = "document.write('<a href=\"$showposturl\" class=\"contribute_txt\" target=\"_blank\">$lang[pannel_contribution]</a> ');";
} elseif($showpost > 1) { 有多个频道时,显示下拉菜单
$showposturl = "document.write('<a href=\"javascript:contributeop();\" class=\"contribute_txt\">$lang[pannel_contribution]</a> ');";
}
$divhtml .= '</ul></div>';
print <<<END
function contributeop() {
if($('contribute_op').style.display != 'block') {
$('contribute_op').style.display = 'block'; 关闭后再打开
} else {
$('contribute_op').style.display = 'none'; 打开时关闭
}
}
function hidendivop(){ 选择频道投稿后关闭菜单
$('contribute_op').style.display = 'none';
}
document.write('<div id="user_login_position">');
document.write('<h3>$blang[user_panel]</h3>');
document.write('<div class="user_info">');
document.write('<dl>');
document.write('<dt><a href="$siteurl/space.php?uid=$uid"><img src="$ucurl" alt=""></a></dt>');
document.write('<dd>');
空间地址
document.write('$blang[welcome], <a href="$siteurl/space.php?uid=$uid">$_SGLOBAL[supe_username]</a> [<a href="$siteurl/batch.login.php?action=logout">$blang[safe_logout]</a>]<br />'); 用户名 退出动作 退出
document.write('<a class="tx_blue" href="$siteurl/space.php?uid=$uid">$blang[my_space]</a>');
document.write('</dd>'); 空间地址 我的个人主页
document.write('</dl>');
document.write('<div class="user_op">');
$showposturl 投稿 搜索
document.write(' <span><a href="$siteurl/batch.search.php">$blang[search]</a>');
document.write('$bbshtml'); 论坛
document.write('$uchhtml'); 家园
document.write(' | <a href="$siteurl/admincp.php" target="_blank">$blang[management]</a> </span></div>');
document.write('</div>$divhtml</div>'); 管理
END;
} else { 未登录
$formhash = formhash();
print <<<END 原样输出到END
var noseccode = $_SCONFIG[noseccode]; 验证码FLG
document.write('<div id="user_login_position">'); 隐藏 验证码图片
document.write('<div id="login_authcode_img" style="display:none"><img src="$siteurl/do.php?action=seccode" alt="$lang[verification_code]" id="img_seccode" /></div>'); 验证码
document.write('<h3>$blang[user_login]</h3>'); 用户登录
document.write('<form id="login_box" action="$siteurl/batch.login.php?action=login" method="post">');
document.write('<input type="hidden" name="formhash" value="$formhash" />');
document.write('<fieldset><legend>$blang[user_login]</legend>'); 用户登录
document.write('<p><label>$blang[username]:</label> <input type="text" name="username" class="input_tx" size="23" /></p>'); 用户名
document.write('<p><label>$blang[password]:</label> <input type="password" name="password" class="input_tx" size="23" /></p>'); 密码
验证码
document.write('<p id="login_authcode_input" style="display:none"><label>$lang[verification_code]:</label> <input type="text" class="input_tx" name="seccode" size="10"; /> <a href="javascript:updateseccode();">$lang[changge_verification_code]</a></p>'); 换一张图片
document.write('<div id="login_showclose" style="display:none"><a href="javascript:hidesec();"> </a></div>'); 关闭验证码输入区域
document.write('<div class="clearfix">');
document.write('<input id="cookietime" type="checkbox" value="315360000" name="cookietime" class="input_remember"/>'); 记住我:10年
document.write('<label class="label_remember" for="cookietime">$blang[i_remember]</label>');
document.write('<input type="submit" name="loginsubmit" class="input_sub" value="$blang[login]" />');登录
document.write('</div>');
document.write('<p class="login_ext"><a href="$siteurl/do.php?action=register">$blang[registration]</a> | <a href="$siteurl/do.php?action=lostpasswd">$blang[find_passwords]</a></p>'); 注册新用户
document.write('</fieldset></form></div>'); 找回密码
END;
}
/**
* 取得用户后台模型mid
* return array
*/
function getuserspacemid() {
$cachefile = S_ROOT.'./cache/model/model.cache.php';
$cacheinfo = '';
if(file_exists($cachefile)) {
include_once($cachefile);
}
if(!empty($cacheinfo) && is_array($cacheinfo)) {
return $cacheinfo;
} else {
include_once(S_ROOT.'./function/cache.func.php');
return updateuserspacemid();
}
}
?>
根据这个文件的处理逻辑,我编写出了页面顶部的横排登陆框。见下图:
---------------------------------------------------------------------------------------
我看懂batch.panel.php之后,并没有修改这个文件的代码。因为用到的其他相关页面比较多。
我就直接把我想要的横排框代码直接嵌到模板文件里面了。
实在没有时间加注释讲解了。直接把代码贴出来给大家参考把。
但愿能对大家有用。
-
- <!--{eval $uid = $_SGLOBAL['supe_uid'];}-->
- <!--{eval $siteurl = S_URL_ALL;}-->
- <!-- 登录中 -->
- <!--{if !empty($uid)}-->
- <li>您好,<a href="$siteurl/space.php?uid=$uid" target="_blank">$_SGLOBAL[supe_username]</a>!</li>
- <li>[<a href="$siteurl/batch.login.php?action=logout">退出</a>]</li>
- <li><a href="$siteurl/space.php?uid=$uid&op=sell" target="_blank">个人主页</a></li>
- <!-- 未登录 -->
- <!--{else}-->
- <!--{eval $formhash = formhash();}-->
- <form style="display:inline" id="login_box" action="$siteurl/batch.login.php?action=login" method="post">
- <li><input type="hidden" name="formhash" value="$formhash" /></li>
- <li><input type="text" name="username" class="input_tx" value="用户名" size="10" style="border:1px solid #999999; font-size:12px;" onfocus="clearObjTxt(this, '用户名')" onblur="fillObjTxt(this, '用户名')" /></li>
- <li><input type="password" name="password" class="input_tx" value="~~~~~~" size="10" style="border:1px solid #999999; font-size:11px;" onfocus="clearObjTxt(this, '~~~~~~')" onblur="fillObjTxt(this, '~~~~~~')" /></li>
- <li><input type="submit" name="loginsubmit" class="input_sub" value="登录" style="border:1px solid #999999; font-size:11px;" /></li>
- <li><a class="style19" href="$siteurl/do.php?action=register" class="style08">注册</a></li>
- <li>|</li>
- <li><a class="style19" href="$siteurl/do.php?action=lostpasswd" class="style08">找回密码</a></li>
- </form>
- <!--{/if}-->
复制代码 |