【问题标题】:Add & remove active class from a navigation link via php?通过 php 从导航链接中添加和删除活动类?
【发布时间】:2013-12-26 02:06:54
【问题描述】:

我在 index.php 中有一个 php-navigation,并根据单击的导航标签在这个 index.php 中包含不同的内容。 我现在有一个问题,我想在包含页面时添加/删除“class="active""。也许有一个非 javascript 解决方案,但也有 javascript,我现在几个小时都无法管理它......

非常感谢您的帮助!

Navigation:

<li class="<?php echo ($page_id == 'Home' ? "active" : "")?>"><a href="index.php?go=home" class="activator">Home</a></li>
<li class="<?php echo ($page_id == 'Konzept' ? "active" : "")?>"><a href="index.php?go=konzept" class="activator">Konzept</a></li>

...


<?php

if (isset($_GET['go']))
{
    switch($_GET['go'])
    {

        case 'home':    include('home.html');
                        $page_id == 'Home';
                        break;
        case 'konzept': include('konzept.html');
                        $page_id == 'Konzept';
                        break;
        ...
    }
}


?>

【问题讨论】:

    标签: javascript php navigation include


    【解决方案1】:

    在我看来这是一个简单的语法错误

    <?php echo ($page_id == 'Home' ? 'active' : '')?>
    

    您的字符串已经以" 开头,因此您需要使用'\" 来转义引号。

    只要您的导航结构位于 isset 之后,您就可以开始了。

    还有最后一件事,如果页面在查询字符串中没有go,则永远不会设置page_id,您将收到undefined index 错误,因此请在范围之外定义它首先是 isset。

    <?php
    
    $page_id = false;
    if(isset(.....
    

    【讨论】:

    • 谢谢。问题出在导航和 php-part 的顺序上。我现在在 home.html、konzept.html 等中设置的 $page_id 可以正常工作!
    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 2014-12-11
    • 2013-06-24
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多