Как правильно использовать «активный» класс в корреляции с php - PullRequest
0 голосов
/ 20 октября 2018

У меня проблемы с использованием php для контроля, если навигационной ссылке присвоен класс «активный», в зависимости от того, на что установлена ​​переменная $ CURRENT_PAGE.

Вот файл navigation.php, который включен в каждый файл страницы веб-сайта.

 <div class="container mt-3">
        <ul class="nav nav-tabs">
          <li class="nav-item">
            <a class="nav-link <?php if ($CURRENT_PAGE == "Index") {?>active<?php }?>" href="index.php">Home</a>
          </li>
          <li class="nav-item">
            <a class="nav-link <?php if ($CURRENT_PAGE == "About") {?>active<?php }?>" href="about.php">About Us</a>
          </li>
          <li class="nav-item">
            <a class="nav-link <?php if ($CURRENT_PAGE == "Contact") {?>active<?php }?>" href="contact.php">Contact</a>
          </li>
        </ul>
</div>

Вот файл конфигурации, который устанавливает переменную $ CURRENT_PAGE:

<?php
        switch ($_SERVER["SCRIPT_NAME"]) {
                case "/php-template/about.php":
                        $CURRENT_PAGE = "About"; 
                        $PAGE_TITLE = "About Us";
                        break;
                case "/php-template/contact.php":
                        $CURRENT_PAGE = "Contact"; 
                        $PAGE_TITLE = "Contact Us";
                        break;
                default:
                        $CURRENT_PAGE = "Index";
                        $PAGE_TITLE = "Welcome to my homepage!";
        }
?>

Для справки по моему шаблону я использую шаблон исходного кода из этого поста.https://medium.com/@stevesohcot/sample-basic-php-template-for-file-structure-with-example-code-47ff6d610191

Что касается проблемы, с которой я столкнулся, активный класс отображается только по домашней ссылке, даже если я нахожусь на другой странице, например на странице контактов.Когда я наведите курсор на навигационные ссылки «about» и «contact», активный класс инициирует, но инициирует только тогда, когда я наведите курсор мыши на навигационные ссылки «about» и «contact».Может быть, это связано с классами начальной загрузки, которые я использую?

Пример

1 Ответ

0 голосов
/ 20 октября 2018

Просто удалите / php-template / из кейса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...