静态化缓存页面用户登录状态掉失,主题定制适配c_html_js_add.php动态调用登录状态页面处理
因为当网站使用了静态化缓存页面,网站的所有页面就是静态文件页面,这样页面中就没有了用户登录状态信息,没有了登录状态就会有些不方便,可以使用以下代码适配主题,在静态页面中使用JS加载用户登录状态,以下代码示例是本站主题的适配例子,大家参考示例按您的主题处理,不能直接复制使用……
因为当网站使用了静态化缓存页面,网站的所有页面就是静态文件页面,这样页面中就没有了用户登录状态信息,没有了登录状态就会有些不方便,可以使用以下代码适配主题,在静态页面中使用JS加载用户登录状态。

以下代码示例是本站主题的适配例子,大家参考示例按您的主题处理,不能直接复制使用。
Add_Filter_Plugin('Filter_Plugin_Html_Js_Add', 'xinZblog_Html_Js_Add');function xinZblog_Html_Js_Add()
{
global $zbp;
$s = '';
$zbp->Verify();
$user = $zbp->user;
//菜单栏登录状态处理
if ($user->ID) {
if ($zbp->CheckRights('MemberEdt')) {
$s = '<a href="' . $zbp->host . 'zb_system/admin/" class="img"><img src="' . $user->Avatar . '" class="avatar" />' . $user->StaticName . '</a>';
} else {
$s = '<a class="img"><img src="' . $user->Avatar . '" class="avatar" />' . $user->StaticName . '</a>';
}
}
//评论框登录状态处理
$c = '<p class="posttop"><a name="comment" class="msgname">';
if ($user->ID) {
$c .= '<input type="hidden" name="inpName" id="inpName" value="' . $user->Name . '" />';
$c .= '<img class="avatar" src="' . $user->Avatar . '" width="32" />' . $user->StaticName;
}
$c .= '发表评论:</a><a rel="nofollow" id="cancel-reply" href="#divCommentPost" style="display:none;"><small>取消回复</small></a></p>';
if ($user->ID == 0) {
$c .= '<p style="margin-top:10px"><input type="text" name="inpName" id="inpName" class="text" value="小游客" size="28" tabindex="1" /> </p>';
$c .= '<p style="margin-top:10px"><input type="text" name="inpEmail" id="inpEmail" class="text" placeholder="Mail" size="28" tabindex="2" /> </p>';
$c .= '<p style="margin:10px 0px"><input type="text" name="inpHomePage" id="inpHomePage" class="text" placeholder="URL" value="" size="28" tabindex="3" /> </p>';
if ($zbp->option['ZC_COMMENT_VERIFY_ENABLE']) {
$c .= '<p class="inpVerify">' . $zbp->lang['msg']['validcode'] . ':<input type="text" name="inpVerify" id="inpVerify" class="text" value="" size="28" tabindex="4" />';
$c .= '<img style="cursor:pointer;" src="' . $zbp->host . 'zb_system/script/c_validcode.php?id=cmt" onclick="javascript:this.src=\\\'' . $zbp->host . 'zb_system/script/c_validcode.php?id=cmt&tm=\\\'+Math.random();" />';
$c .= '</p>';
}
}
echo '$(function() {';
if ($s) {
echo 'if($(\'.inlogin\').length>0){$(\'.inlogin\').html(\'' . $s . '\');}';
}
echo 'if($(\'#divCommentPost form\').length>0){$(\'#divCommentPost form\').prepend(\'' . $c . '\');}';
echo '});';
}主题模板评论框commentpost.php修改示例:
{* Template Name:评论发布框 *}
<div class="post" id="divCommentPost">
<form id="frmSumbit" target="_self" method="post" action="{$article.CommentPostUrl}">
<input type="hidden" name="inpId" id="inpId" value="{$article.ID}" />
<input type="hidden" name="inpRevID" id="inpRevID" value="0" />
<p style="display:none;"><label for="txaArticle">{$lang['msg']['content']}(*)</label></p>
<p><textarea name="txaArticle" id="txaArticle" class="text" cols="50" rows="4" tabindex="5"></textarea></p>
<p><input name="sumbit" type="submit" tabindex="6" value="提交" onclick="return zbp.comment.post()" class="button" /></p>
</form>
</div>《静态化缓存页面用户登录状态掉失,主题定制适配c_html_js_add.php动态调用登录状态页面处理》.doc
将本文下载保存,方便收藏和打印
导出文档