这是我在这里的第二个问题,第一个问题很快得到解决,我很感谢我的帮助。这是东西:
我有一个文件夹视图,其中有一个名为_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>';
}
我实际上不知道该怎么写。
我真的希望你们能理解我在这里需要做的事情并帮助我。