如何在使用时将导航栏标签设置为活动状态?

时间:2018-10-29 00:38:22

标签: php html

这是我在这里的第二个问题,第一个问题很快得到解决,我很感谢我的帮助。这是东西:

我有一个文件夹视图,其中有一个名为_global的文件夹,其中有我的beforeContent.php和afterContent.php,它们是我实际网页的页眉和页脚。页面的主要内容设置在其他视图文件夹中,在那里我没有问题。

我的beforeContent.php中有此脚本(此脚本显示了我的导航栏):

<?php if (Session::exists('user_id')): ?>    
<?php include 'app/views/_global/menu-session.php'; ?>    
<?php else: ?>    
<?php include 'app/views/_global/menu-no-session.php'; ?>    
<?php endif; ?>    

基本上,如果用户已登录,则将显示menu-session.php,如果没有用户登录,则将显示menu-no-session.php。

我的菜单会话包含以下内容:

    <ul>
    <li><a <?php if ($FoundRoute['Controller'] == 'Main') echo 
    'class="active";'?> href="<?php echo Configuration::BASE_URL; ?>">Home</a> 
    </li>
    <li><a <?php if ($FoundRoute['Controller'] == 'Overview') echo 
    'class="active";'?> href="<?php echo Configuration::BASE_URL; ? 
    >overview">Overview</a></li>
    </ul>

它具有更多选项卡,但您明白了。

我必须使用此功能来选择控制器,该控制器将决定页面是否处于活动状态。基本上:如果我在“概述”页面上,脚本会询问活动控制器是否命名为“概述”,如果是,它将选择选项卡作为class =“ active”。

但是,这是错误的:我的老师说我的视图文件中没有脚本(没错,这只是一种不好的做法),我需要另一种方法:

因此,我创建了一个函数Misc :: url:

的方法类Misc.php。
public static function url($link, $text){
        echo '<a href="' . Configuration::BASE_URL . $link . '">' . $text . 
'</a>';
    }

这样,我的菜单会话可以是:

<ul>
<li>Misc::url('', 'Home')</li>
<li>Misc::url('overview', 'Overview')</li>
</ul>

现在:我需要在Misc.php中有一个正确的函数,在这里我有>>> $ FoundRoute ['Controller'] <<< if语句,类似:

Misc::urlWithActive($link, $text){
if ($foundRoute['Controller] = *thiscontroller*) {
echo '<a href="' . Configuration::BASE_URL . $link . '">' . $text . 
'</a>';
}

我实际上不知道该怎么写。

我真的希望你们能理解我在这里需要做的事情并帮助我。

0 个答案:

没有答案