加入登录功能,整合钩子函数融入到一起,配合插件唤起弹窗登录页面

输出变量 <?php blog_navi() ?>

对应函数:(登录显示有2个,判断未初始化以作处理)

/**
 * 页顶:导航
 */
function blog_navi()
{
    global $CACHE;
    $navi_cache = $CACHE->readCache('navi');
    // 检查用户登录状态
    $is_login = !User::isVisitor();
    // 初始化是否有登录项的标志
    $has_login_item = false;
?>            <?php
            foreach ($navi_cache as $value):
                if ($value['pid'] != 0) {
                    continue;
                }
                // 检查是否有登录相关的导航项
                if (strpos($value['naviname'], '登录') !== false) {
                    $has_login_item = true;
                }
                if ($value['url'] == 'admin' && (!User::isVisitor())):
            ?>
            <a class="navbar__item navbar__link" href="<?= BLOG_URL ?>admin/" <?= $newtab ?>>管理</a>
            <a class="navbar__item navbar__link" href="<?= BLOG_URL ?>admin/account.php?action=logout">退出</a>
                <?php
                    continue;
                endif;
                $newtab = $value['newtab'] == 'y' ? 'target="_blank"' : '';
                $value['url'] = $value['isdefault'] == 'y' ? BLOG_URL . $value['url'] : trim($value['url'], '/');
                $current_tab = BLOG_URL . trim(Dispatcher::setPath(), '/') == $value['url'] ? 'active' : '';
                ?>
        <a class="navbar__item navbar__link" href="<?= $value['url'] ?>" <?= $newtab ?>><?= $value['naviname'] ?></a>
    <?php endforeach ?>
    <?php 
    // 仅当没有原有登录项且未登录时,才显示新增的登录按钮
    if (!$is_login && !$has_login_item):
    ?>
        <a class="navbar__item navbar__link" href="javascript:Ixc_login_but_login();">登录</a>
    <?php 
    endif;}


网友留言(0 条)

发表评论

验证码