html — меню динамической навигации с использованием php include

Я создаю веб-сайт с использованием HTML / bootstrap и для уменьшения повторения того же кода, который я пытался использовать с помощью PHP include для нижнего колонтитула и боковой панели, например:

 <html>
<body>

<?php include('navigation.php'); ?>

Contents of this page here...

<?php include('sidebar.php'); ?>
<?php include('footer.php'); ?>

</body>
</html>

Я хотел сделать то же самое для меню навигации, но так как выделенные ссылки меняются с каждой страницей, я не уверен, как это динамически изменить.
Так как я использую bootstrap, мне нужен какой-то метод, с помощью которого я могу класс = «активный» в меню ссылки.
(Примечание: новичок в Php.)

0

Решение

Есть несколько простых способов сделать это. Лучший способ для меня — поместить содержимое вашего файла navigation.php в функцию с аргументом. Затем вы вызываете функцию после включения и передаете в качестве аргумента число или строку, представляющую элемент, который нужно поместить в качестве активного.

Ваша функция тогда будет примерно такой:

 <?php
function displayNavBar($activeItem){ ?>
<li class="">
<ul class="" > <li <?php if($activeItem=="Home"){echo "class='active'";}?>>
<a href="#">Home</a></li> <li><a href="#">contact</a></li>        <li class="active"><a href="#">privacy</a></li> <li><a href="#">about</a></li </ul> </li>

<?php } ?>

Очевидно, что я написал cose только для первого пункта, вы должны сделать то же самое с остальными. И тогда в вашем файле вы должны вызвать созданную функцию:

displayNavBar("Home"):
1

Другие решения

Я не уверен насчет структуры вашего сайта, но обычно вы читаете текущий URL и устанавливаете активный класс в соответствии с этим. Так, используя, например:

$current_page = $_SERVER['PHP_SELF'];

Если бы вы были в /index.php, то вы бы

$current_page = '/index.php';

Тогда это просто сказать

<li<?php echo $current_page=='/index.php' ? ' class="active"' : ''; ?>><a href="">Home</a></li>
<li<?php echo $current_page=='/about.php' ? ' class="active"' : ''; ?>><a href="">About</a></li>

Это всего лишь пример. Установите текущую страницу, как указано выше, посмотрите, что результат использует echo, затем установите ссылку, как показано ниже.

1

По вопросам рекламы [email protected]